[Q] Liệu NodeJS đã trở thành ngôn ngữ tối ưu nhất cho việc xây dựng hệ thống tra cứu dữ liệu?!



  • Chào các bạn!
    Hiện tại mình đang có 1 CSDL khá lớn nhưng vẫn còn thắc mắc muốn đi tìm 1 ngôn ngữ phù hợp nhất cho cả hiện tại và tương lai( khả năng nâng cấp), vấn đề mình gặp phải là hệ thống nếu không tính đến nền tảng cơ sở vật lí( hệ thống mạng và máy chủ) thì:
    -Ngôn ngữ nào phù hợp cho việc tra cứu dữ liệu với kho CSDL lớn, lượng view tăng đều( bởi CSDL này hiện đang phục vụ cho các công việc phi lợi nhuận)?

    • Đảm bảo được tốc độ truy xuất.

    • Sự ổn định.

    • Tính an toàn dữ liệu.

    • Khả năng bảo trì, nâng cấp trong tương lai.

    • Khả năng cập nhật CSDL theo thời gian thực.

    Hy vọng sẽ nhận được câu trả lời từ các bạn.
    Cảm ơn các bạn.



  • Mình thì không có kinh nghiệm thực tế, nhưng theo mình nghĩ thì NodeJs sẽ không phù hợp. Mình nghĩ bạn nên chọn Python, Java sẽ phù hợp hơn.



  • Mình có nghe Java bảo mật kém.Điều này còn đúng ở hiện tại?
    Python có phát triển tốt các yêu cầu trên không bạn?
    Cảm ơn bạn!

    @CodeConCat said in [Q] Liệu NodeJS đã trở thành ngôn ngữ tối ưu nhất cho việc xây dựng hệ thống tra cứu dữ liệu?!:

    Mình thì không có kinh nghiệm thực tế, nhưng theo mình nghĩ thì NodeJs sẽ không phù hợp. Mình nghĩ bạn nên chọn Python, Java sẽ phù hợp hơn.



  • Với 5 yêu cầu của bạn thì nodejs không phù hợp đâu bạn. Nhưng nếu bạn có nguồn lực lớn như bạn nói thì bạn cũng không nên quan tâm quá đến ngôn ngữ gì, to như Google họ nói phát triển riêng BigTables, MegaStore và thường sử dụng C,Java, Python - bạn theo hướng của họ xem sao. nhé



  • @hidemanvn said in [Q] Liệu NodeJS đã trở thành ngôn ngữ tối ưu nhất cho việc xây dựng hệ thống tra cứu dữ liệu?!:

    Với 5 yêu cầu của bạn thì nodejs không phù hợp đâu bạn. Nhưng nếu bạn có nguồn lực lớn như bạn nói thì bạn cũng không nên quan tâm quá đến ngôn ngữ gì, to như Google họ nói phát triển riêng BigTables, MegaStore và thường sử dụng C,Java, Python - bạn theo hướng của họ xem sao. nhé

    Cảm ơn bạn. Hiện tại, nguồn lực thì không có nhiều vì thế mình muốn sử dụng nó thật phù hợp và tiết kiệm. Tầm phát triển hiện tại chưa thể khổng lồ như các tập đoàn hiện giờ nên có lẽ mình sẽ tham khảo Python xem sao.



  • Hiện nay, Google đang đẩy mạnh Progressive Web Apps. Tức là thay vì phát triển riêng app cho từng nền tảng, thì trình duyệt trên phone đã đủ mạnh để có thể thiết kế một website chạy tương tự như một ứng dụng chạy trên app độc lập. Một lợi thế khi làm web app, thì bạn không phải lo nhiều về vấn đề tương thích. Chỉ cần người dùng có trình duyệt web là được.

    Nếu bạn đi vào hướng web app (Front-End: Giao Diện) thì bạn cần phải dùng javascript, mà đã thế thì nên dùng NodeJS (Back-END: quản lý dữ liệu đằng sau) vì node cũng dùng javascript. Hiện giờ những công ty lớn cloud computing, như Google và Amazon, cũng đã hổ trợ host nodejs. Bạn chỉ cần thuê máy chủ, cài chương trình của mình vào đó thì sẽ không sợ vấn đề quá tải. Cho dù ứng dụng của bạn có cả triệu người đăng nhập, thì những máy chủ này dư sức làm việc.

    Máy tính thời nay đã quá mạnh, cho nên vấn đề dung lượng, băng thông, cơ sỡ dữ liệu, không còn là yếu tố quan trọng nữa. Mình đang host một cái nodejs server trên Raspberry Pi (trị giá $35 USD), truy xuất hơn 5000 records từ mongodb chưa tới 1 giây.

    Còn về câu hỏi của bạn thì cái chính là CSDL của bạn là gì, nếu như chỉ là thông tin để truy cập tìm kiếm thông thường thì có thể dùng mongodb (NOSQL), còn dữ liệu có thật nhiều tables có nhiều liên kết phụ thuộc lẫn nhau thì phải dùng SQL. Chọn phần mềm để quản lý CSDL trước rồi mới tính dùng cái gì để truy xuất.



  • @Quang-Le said in [Q] Liệu NodeJS đã trở thành ngôn ngữ tối ưu nhất cho việc xây dựng hệ thống tra cứu dữ liệu?!:

    Hiện nay, Google đang đẩy mạnh Progressive Web Apps. Tức là thay vì phát triển riêng app cho từng nền tảng, thì trình duyệt trên phone đã đủ mạnh để có thể thiết kế một website chạy tương tự như một ứng dụng chạy trên app độc lập. Một lợi thế khi làm web app, thì bạn không phải lo nhiều về vấn đề tương thích. Chỉ cần người dùng có trình duyệt web là được.

    Nếu bạn đi vào hướng web app (Front-End: Giao Diện) thì bạn cần phải dùng javascript, mà đã thế thì nên dùng NodeJS (Back-END: quản lý dữ liệu đằng sau) vì node cũng dùng javascript. Hiện giờ những công ty lớn cloud computing, như Google và Amazon, cũng đã hổ trợ host nodejs. Bạn chỉ cần thuê máy chủ, cài chương trình của mình vào đó thì sẽ không sợ vấn đề quá tải. Cho dù ứng dụng của bạn có cả triệu người đăng nhập, thì những máy chủ này dư sức làm việc.

    Máy tính thời nay đã quá mạnh, cho nên vấn đề dung lượng, băng thông, cơ sỡ dữ liệu, không còn là yếu tố quan trọng nữa. Mình đang host một cái nodejs server trên Raspberry Pi (trị giá $35 USD), truy xuất hơn 5000 records từ mongodb chưa tới 1 giây.

    Còn về câu hỏi của bạn thì cái chính là CSDL của bạn là gì, nếu như chỉ là thông tin để truy cập tìm kiếm thông thường thì có thể dùng mongodb (NOSQL), còn dữ liệu có thật nhiều tables có nhiều liên kết phụ thuộc lẫn nhau thì phải dùng SQL. Chọn phần mềm để quản lý CSDL trước rồi mới tính dùng cái gì để truy xuất.

    Cảm ơn bạn. Hiện tại mình đang sử dụng SQL bởi lượng data ngày 1 lớn và vẫn hướng theo chiều tăng dần.
    Và theo như bạn đề xuất thì việc sử dụng mã nguồn từ Google có tốt trong khi mình muốn đảm bảo dữ liệu của người dùng thực sự an toàn.



  • Vậy bạn có thể cho thêm chi tiết là: kích thước CSDL hiện giờ và mỗi ngày tăng lên khoảng bao nhiêu? thứ hai là bạn có bao nhiêu tables trong CSDL? Liệu những tables này có cần phải thay đổi trong tương lai để thích ứng với dữ liệu mới?...
    Bạn nên google thêm về NoSQL và SQL thì sẽ tìm được sự lựa chọn tốt nhất thích ứng với CSDL bạn đang dùng.



  • @Quang-Le said in [Q] Liệu NodeJS đã trở thành ngôn ngữ tối ưu nhất cho việc xây dựng hệ thống tra cứu dữ liệu?!:

    Vậy bạn có thể cho thêm chi tiết là: kích thước CSDL hiện giờ và mỗi ngày tăng lên khoảng bao nhiêu? thứ hai là bạn có bao nhiêu tables trong CSDL? Liệu những tables này có cần phải thay đổi trong tương lai để thích ứng với dữ liệu mới?...
    Bạn nên google thêm về NoSQL và SQL thì sẽ tìm được sự lựa chọn tốt nhất thích ứng với CSDL bạn đang dùng.

    Cảm ơn sự trợ giúp hữu ích từ bạn.


Log in to reply