10 điều bạn nên biết về NoSQL Database
Mô hình cơ sở dữ liệu quan hệ đã tồn tại trong nhiều thập kỷ, nhưng một loại cơ sở dữ liệu mới - được biết đến như NoSQL lại có được sự chú ý trong các doanh nghiệp. Sau đây là mô tả tổng quan về ưu và nhược điểm của nó.

  
Cơ sở dữ liệu quan hệ (RDBMS) đã được chọn là mô hình chủ đạo cho việc quản lý cơ sở dữ liệu trong khoảng một phần tư thế kỷ qua. Nhưng, ngày nay, mô hình phi quan hệ, "đám mây", hoặc các cơ sở dữ liệu "NoSQL" đang được quan tâm chia sẻ như một mô hình thay thế cho việc quản lý cơ sở dữ liệu. Trong bài viết này, chúng tôi sẽ xem xét 10 mặt chính của các cơ sở dữ liệu NoSQL phi quan hệ: 5 lợi thế hàng đầu 5 thách thức hàng đầu.


5 lợi thế của NoSQL

 

1. Tính co giãn

Trong nhiều năm, các nhà quản trị cơ sở dữ liệu đã dựa trên sự  phát triển quy mô để mua máy chủ lớn hơn như tăng tải cơ sở dữ liệu - chứ không phải là sự phát triển quy mô ra (scale out) để phân phối các cơ sở dữ liệu trên nhiều máy như tải tăng (load increases). Tuy nhiên, khi giá giao dịch yêu cầu gia tăng, như cơ sở dữ liệu chuyển vào các đám mây hoặc trên môi trường ảo hóa, lợi thế kinh tế của sự nhân rộng ra trên phần cứng trở nên không thể cưỡng lại.

RDBMS có thể không mở rộng quy mô một cách dễ dàng trên các cụm clusters, nhưng loại mới của các cơ sở dữ liệu NoSQL được thiết kế để mở rộng trong suốt để tận dụng lợi thế của các node mới, chúng thường được thiết kế với phần cứng chi phí thấp.



2. Dữ liệu lớn

Cũng giống như giá cả giao dịch đã tăng trưởng ra khỏi công nhận trong thập kỷ qua, khối lượng dữ liệu đang được lưu trữ cũng tăng lên ồ ạt. O'Reilly đã khéo léo gọi điều này là "cuộc cách mạng công nghiệp của dữ liệu." Khả năng RDBMS đã được phát triển để phù hợp với những sự tăng trưởng này, nhưng với giá giao dịch, các khó khăn của khối lượng dữ liệu có thể được quản lý bởi một RDBMS đơn đang trở nên không thể chấp nhận đối với một số doanh nghiệp. Ngày nay, khối lượng "dữ liệu lớn" (big data) có thể được xử lý bởi hệ thống NoSQL, chẳng hạn như Hadoop, vượt xa những gì có thể được xử lý bởi các RDBMS lớn nhất.


3. Tạm biệt DBAs

Mặc dù có nhiều cải tiến trong khả năng quản lý được tuyên bố chủ quyền bởi các nhà cung cấp RDBMS trong những năm qua, hệ thống RDBMS cao cấp chỉ có thể được duy trì với sự hỗ trợ đắt tiền, các DBA đã được đào tạo cao cấp. Các DBA liên quan mật thiết đến việc thiết kế, lắp đặt và điều chỉnh liên tục của hệ thống RDBMS cao cấp.

Cơ sở dữ liệu NoSQL thường được thiết kế từ mặt đất lên để đòi hỏi ít quản lý: tự động sửa chữa, phân tán dữ liệu, và các mô hình dữ liệu đơn giản dẫn đến yêu cầu điều chỉnh quản lý và thấp hơn - về lý thuyết là vậy. Trong thực tế, có khả năng rằng những tin đồn về cái chết của các DBA đã được phóng đại một chút. Một người nào đó sẽ luôn luôn chịu trách nhiệm về hiệu suất và tính sẵn có của bất kỳ kho lưu trữ dữ liệu quan trọng nào.



4. Kinh tế

Các cơ sở dữ liệu NoSQL thường sử dụng cụm máy chủ giá rẻ để quản lý việc khai phá dữ liệu khối lượng giao dịch, trong khi RDBMS có xu hướng dựa trên các máy chủ độc quyền đắt tiền hệ thống lưu trữ. Kết quả là chi phí cho mỗi GB hoặc giao dịch / giây cho NoSQL có thể thấp hơn chi phí cho RDBMS nhiều lần, cho phép bạn lưu trữ và xử lý dữ liệu hơn với một mức giá thấp hơn nhiều.


5. Mô hình dữ liệu linh hoạt 

Thay đổi việc quản lý là một điều nhức đầu lớn cho các nhà sản xuất RBMS lớn. Ngay cả những thay đổi nhỏ để các mô hình dữ liệu của một RDBMS phải được quản lý cẩn thận và có thể đòi hỏi thời gian chết hoặc giảm mức độ dịch vụ.

Các cơ sở dữ liệu NoSQL chút thoải mái hơn - hạn chế mô hình dữ liệu - hoặc thậm chí không tồn tại. NoSQL Key Value lưu trữ cơ sở dữ liệu tài liệu cho phép các ứng dụng lưu trữ hầu như bất kỳ cấu trúc nào mà nó muốn trong một thành phần dữ liệu. Ngay cả những cứng nhắc đã định nghĩa ra BigTable được dựa trên các cơ sở dữ liệu NoSQL (Cassandra, HBase) thường cho phép các cột mới được tạo ra mà không có quá nhiều phiền phức.

Kết quả là ứng dụng thay đổi và giản đồ cơ sở dữ liệu (database schema) không cần phải được quản lý như một đơn vị thay đổi phức tạp. Về lý thuyết, điều này sẽ cho phép các ứng dụng để lặp nhanh hơn, tuy nhiên, rõ ràng, có thể có tác dụng phụ không mong muốn nếu ứng dụng không quản lý toàn vẹn dữ liệu.



5 thách thức của NoSQL

Lời hứa của cơ sở dữ liệu NoSQL đã tạo ra rất nhiều nhiệt huyết, nhưng có rất nhiều trở ngại phải vượt qua trước khi họ có thể thu hút các doanh nghiệp chính thống. Dưới đây là một vài trong số những thách thức hàng đầu.


1. Trưởng thành

Hệ thống RDBMS đã tồn tại được một khoảng thời gian dài. Những người ủng hộ NoSQL sẽ lập luận rằng độ tuổi của chúng là một dấu hiệu của sự lỗi thời, nhưng đối với hầu hết các CIO, sự trưởng thành của RDBMS là sự yên tâm. Đối với hầu hết các phần, các hệ thống RDBMS ổn định và đa dạng về chức năng. Trong so sánh, hầu hết các sự lựa chọn thay thế NoSQL nhất là trong các phiên bản tiền sản xuất với nhiều tính năng quan trọng vẫn chưa được thực hiện.

Sống trên mép công nghệ cũng là một điều thú vị đối với nhiều nhà phát triển, nhưng các doanh nghiệp nên tiếp cận nó với hết sức thận trọng.



2. Hỗ trợ

Doanh nghiệp muốn bảo đảm rằng nếu một hệ thống quan trọng lỗi, họ sẽ có thể có được sự hỗ trợ kịp thời có thẩm quyền. Tất cả các nhà cung cấp RDBMS đi đến độ dài lớn để cung cấp một mức độ hỗ trợ doanh nghiệp.

Ngược lại, hệ thống NoSQL nhất là các dự án mã nguồn mở, và mặc dù thường có một hoặc nhiều công ty cung cấp hỗ trợ cho mỗi cơ sở dữ liệu NoSQL, các công ty này thường có quy mô start-up nhỏ mà không có sự tiếp cận toàn cầu, nguồn lực hỗ trợ, hoặc độ tin cậy của một Oracle, Microsoft , hoặc IBM.
 

 

3. Phân tích kinh doanh thông minh 

Cơ sở dữ liệu NoSQL đã tiến hóa để đáp ứng nhu cầu mở rộng quy mô của các ứng dụng Web 2.0 hiện đại. Do đó, hầu hết các tính năng thiết lập của chúng được định hướng đối với các nhu cầu của các ứng dụng này. Tuy nhiên, dữ liệu trong một ứng dụng có giá trị cho các doanh nghiệp vượt qua những chu kỳ chèn-đọc-cập nhật-xóa của một ứng dụng web điển hình. Kinh doanh các thông tin bom tấn trong cơ sở dữ liệu của công ty để nâng cao hiệu quả khả năng cạnh tranh kinh doanh thông minh (BI) là chìa khóa vấn đề CNTT cho tất cả các phương tiện để các công ty lớn.

Cơ sở dữ liệu NoSQL cung cấp vài cơ sở cho việc truy vấn ad-hoc phân tích. Ngay cả một truy vấn đơn giản đòi hỏi chuyên môn lập trình quan trọng, thường được sử dụng các công cụ BI không cung cấp kết nối đến NoSQL.

Một số sự giúp đỡ được cung cấp bởi sự xuất hiện của các giải pháp như HIVE hoặc PIG, có thể cung cấp truy cập dễ dàng hơn để dữ liệu được tổ chức tại cụm Hadoop và có lẽ cuối cùng, các cơ sở dữ liệu NoSQL khác. Quest Software đã phát triển một sản phẩm - Toad cho Điện toán đám mây Cơ sở dữ liệu - có thể cung cấp khả năng truy vấn ad-hoc với một loạt các cơ sở dữ liệu NoSQL.
 



4. Quản trị

Mục đích thiết kế cho NoSQL có thể cung cấp một giải pháp không phải quản trị, nhưng thực tế hiện nay cũng rút ngắn mục tiêu đó. NoSQL ngày nay đòi hỏi rất nhiều kỹ năng để cài đặt và rất nhiều nỗ lực để duy trì. 


5. Chuyên môn

nghĩa là hàng triệu các nhà phát triển trên toàn thế giới, trong tất cả các phân khúc kinh doanh, những người đã quen thuộc với khái niệm và lập trình RDBMS. Ngược lại, hầu hết các nhà phát triển NoSQLtrong một chế độ học tập. Tình trạng này sẽ giải quyết một cách tự nhiên theo thời gian, nhưng bây giờ, nó dễ dàng hơn để tìm thấy các lập trình viên có kinh nghiệm RDBMS hoặc quản trị hơn một chuyên gia NoSQL. 

Kết luận

Cơ sở dữ liệu NoSQL đang trở thành một phần quan trọng của cảnh quan cơ sở dữ liệu, khi được sử dụng một cách thích hợp, có thể cung cấp lợi ích thực sự. Tuy nhiên, doanh nghiệp cần tiến hành thận trọng với nhận thức đầy đủ những hạn chế hợp pháp và các vấn đề có liên quan đến các cơ sở dữ liệu.


(Dịch bởi: Code4LifeVn - bài viết gốc: http://www.techrepublic.com/blog/10things/10-things-you-should-know-about-nosql-databases)

Xem bài viết: MongoDB, NoSQL là gì?
Xem bài viết: Sử dụng Java để làm việc với MongoDB như nào? 

2 nhận xét:

  1. bài này chú Mạnh dịch lại thì phải, đọc thấy không trôi chảy và mạch lạc ý nghĩa như những bài chú viết @@

    Trả lờiXóa
  2. Đúng roài, có comment bên dưới bài viết dịch lại từ đâu mà ^^

    Trả lờiXóa

 

code4lifevn team

Thanh niên nghiêm túc :)

Name: Manh Do

Age: years old

Job: Senior Java and Mobile Developer

Country: VietNam

Name: Hung Nguyen

Age: years old

Job: Android Developer

Country: VietNam

Name: Trung PH

Age: years old

Job: Senior iOS and Android Developer

Country: VietNam

Name: Điệp NT

Age: years old

Job: Senior .Net and Android Developer

Country: VietNam