VCSoft Home Budget - Phần mềm quản lý tài chính cá nhân

Dành cho Quản trị web

Cơ sở dữ liệu NoSQL không thể thiếu cho ứng dụng web

Cơ sở dữ liệu NoSQL không thể thiếu cho ứng dụng webCác cơ sở dữ liệu NoSQL như: MongoDB, Redis, Hadoop, Memcache,... là mới mẻ, nó đang được một số hãng lớn sử dụng như Amazon và Google. Dù nó có nhiều ưu điểm, nhưng cũng có nhiều nhược điểm. Bài này sẽ cho ta biết về những điều đó.


Khoảng 2 thập kỷ nay, mô hình cơ sở dữ liệu quan hệ RDBMS từng là trò chơi duy nhất trong thành phố cho việc quản trị cơ sở dữ liệu. Vài năm qua, một trò chơi khác đã nổi lên: NoSQL, một mô hình cơ sở dữ liệu phân tán không quan hệ đã và đang thu hút được nhiều sự chú ý trong những năm gần đây, ban đầu nhờ vào những triển khai sản phẩm có tên tuổi lớn.

Dynamo của Amazon và BigTable của Google là trong số những triển khai nổi tiếng nhất.

Trong khi NoSQL đưa ra một số lợi ích, thì nó cũng không tránh khỏi có những nhược điểm.


1. 5 lợi ích của NoSQL:


- Nó là nguồn mở:

Các sản phẩm nguồn mở đưa ra cho những người phát triển với một vài lợi ích lớn lao, trong đó có tình trạng không có chi phí của chúng. Những lợi ích khác: phần mềm nguồn mở có xu hướng sẽ là tin cậy hơn, an ninh hơn và nhanh hơn để triển khai so với các lựa chọn thay thế sở hữu độc quyền.

Các hệ quản trị cơ sở dữ liệu (CSDL) NoSQL là Cassandra, CouchDB, Hbase, MongoDB và Redis.

- Việc mở rộng phạm vi là mềm dẻo

NoSQL thay thế câu thần chú cũ của các nhà quản trị CSDL về 'mở rộng phạm vi' với một thứ mới: 'mở rộng ra ngoài'. Thay vì bổ sung thêm các máy chủ lớn hơn để điều khiển nhiều tải dữ liệu hơn, thì CSDL NoSQL cho phép một công ty phân tán tải qua nhiều máy chủ khi mà tải gia tăng.

- Các CSDL NoSQL khác nhau cho những dự án khác nhau

MongoDB và Redis là những lựa chọn tốt cho việc lưu trữ các dữ liệu thống kê ít được đọc mà lại được viết thường xuyên, như một số đếm truy cập web chẳng hạn.

Hadoop, một CSDL dạng tự do, phân tán làm tốt công việc lưu trữ các dữ liệu lớn như các con số thống kê thời tiết hoặc công việc phân tích nghiệp vụ.

Memcache, một CSDL nhất thời chóng tàn, tuyệt vời trong lưu trữ các phiên làm việc web, các khóa, và các con số thống kê ngắn hạn.

Cassandra và Riak (các lưu trữ dư thừa, tự động tạo bó cluster) làm tốt trong các môi trường với các ứng dụng có tính sẵn sàng cao, khi thời gian sống tối đa là sống còn.

- NoSQL được các hãng lớn sử dụng

Các công ty như Amazon, BBC, Facebook và Google dựa vào các CSDL NoSQL.

- NoSQL phù hợp với công nghệ đám mây

NoSQL và đám mây là một sự trùng khớp tự nhiên. Các máy chủ ngày nay là không đắt và có thể dễ dàng mở rộng phạm vi được theo yêu cầu có sử dụng một dịch vụ như là Amazon EC2. Giống như tất cả công nghệ đám mây, EC2 dựa vào ảo hóa. Liên kết yếu của ảo hóa là sự thực thi của I/O, với bộ nhớ và CPU các các kết nối mạnh.

Các CSDL NoSQL hầu hết sử dụng bộ nhớ qua đĩa như là vị trí ghi đầu tiên - vì thế ngăn ngừa được sự thực thi không ổn định của I/O. Và vì NoSQL lưu trữ dữ liệu thường thúc đẩy được tính mở rộng phạm vi theo chiều ngang thông qua việc ngăn chia, chúng có khả năng tận dụng được việc cung cấp mềm dẻo của đám mây.


2. Nhược điểm của NoSQL:



Nguồn mở có thể có nghĩa là sự hỗ trợ không đồng đều cho các doanh nghiệp

Trong khi các nhà cung cấp chủ chốt của RMBMS như Oracle, IBM hay Sybase đưa ra sự hỗ trợ tốt nhổi tiếng cho các khách hàng doanh nghiệp cỡ vừa, thì các doanh nghiệp nhỏ hơn, thường là các nhà cung cấp nguồn mở mới thành lập không thể được mong đợi cung cấp được sự hỗ trợ có thể so sánh được - ngoại trừ một nhúm các khách hàng blue chip.

Nhà cung cấp nguồn mở trung bình thiếu sự tiếp cận toàn cầu, các dịch vụ hỗ trợ và sự tin cậy của một Oracle hay IBM.

- Chưa đủ chín cho các doanh nghiệp

Dù những triển khai của chúng tại một số công ty lớn, thì các CSDL NoSQL vẫn đối mặt với một vấn đề về sự tin cậy chính với nhiều doanh nghiệp. Điểm sống còn đối với sự thiếu của NoSQL về độ chín muồi và các vấn đề về tính không ổn định có thể, trong khi trích ra tính chín muồi, giàu chức năng và ổn định của các RDBMS được thiết lập đã từ lâu.

- Những hạn chế về tri thức nghiệp vụ

Có một vài câu hỏi xung quanh những khả năng về tri thức nghiệp vụ (BI) của các CSDL NoSQL. Liệu các CSDL này có thể cung cấp dạng phân tích dữ liệu lớn và mạnh mà các doanh nghiệp đã quen với các RDBMS? Cần bao nhiêu sự tinh thông về lập trình cần có để tiến hành những truy vấn và phân tích hiện đại?

Các câu trả lời là không tích cực. Các CSDL NoSQL không có nhiều sự đeo bám tới các công cụ BI thường được sử dụng, trong khi những yêu cầu và phân tích hiện đại đơn giản nhất có liên quan khác nhiều tới sự tinh thông về lập trình. Tuy vậy, các giải pháp là sẵn sàng. Quest Software, ví dụ, đã tạo ra Toad cho các CSDL đám mây, mà nó phân phối các khả năng truy vấn hiện đại tới một số CSDL NoSQL.

- Thiếu sự tinh thông

Tính rất mới mẻ của NoSQL có nghĩa là không có nhiều lập trình viên và người quản trị mà biết công nghệ này - là cho khó khăn cho các công ty tìm người với sự tinh thông phù hợp. Đối lại, thế giới của RDBMS có hàng ngàn những người đủ tư cách.

- Những vấn đề về tính tương thích

Không giống như các CSDL quan hệ, các CSDL NoSQL chia sẻ ít theo cách thức của các tiêu chuẩn. Mỗi CSDL NoSQL có các giao diện lập trình ứng dụng API riêng của mình, các giao diện truy vấn độc nhất vô nhị, và những sự riêng biệt. Sự thiếu hụt các tiêu chuẩn có nghĩa là nó không có khả năng để chuyển một cách đơn giản từ một nhà cung cấp này sang một nhà cung cấp khác, nếu bạn trở nên không hạnh phúc với dịch vụ.

Copyright © 2018 VietCloud Team