1. Trang chủ
  2. » Công Nghệ Thông Tin

Tổng quan về hệ quản trị cơ sở dữ liệu Nosql

16 720 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 1,09 MB

Nội dung

Nhung Nguyen 2015-2016 By NOSQL CONTENTS TẠI SAO PHẢI SỬ DỤNG NOSQL INTERNET Với phát triển internet nay, ứng dụng có hàng ngàn, hàng triệu người dùng ngày Số lượng người dùng lớn kết hợp với thói quen sử dụng phong phú tạo nên nhiều mô hình liệu khác Điều dẫn đến cần thiết công nghệ CSDL có khả mở rộng dễ dàng Với RDBMS, nhiều nhà phát triển ứng dụng gặp nhiều khó khăn chí việc tạo ứng dụng có khả mở rộng linh động trì hiệu tốt người dùng mong đợi Và họ tìm đến với giải pháp NoSQL Hình : Sự phát triển internet BIG DATA với tăng lên nhanh chóng liệu việc xử lý liệu lớn đóng vai trò quan trọng đặc biệt với loại liệu không cấu trúc bán cấu trúc Điều đặt nhiều thách thức cho RDBMS truyền thống, dễ dàng thấy rằng, với ràng buộc cấu trúc liệu, sử dụng lược đồ cố định RBDMS trở nên vô khó khăn để xử lý lượng liệu cực lớn mà đa phần cấu trúc bán cấu trúc gia tăng hàng ngày, hàng Trong đó, NoSQL cung cấp mô hình liệu tốt làm cho đơn giản hóa việc giao tiếp CSDL ứng dụng Hình : Big Data CLOUD Ngày nay, hầu hết ứng dụng sử dụng kiến trúc tầng, lưu trữ thực thi đám mây, hỗ trợ số lượng lớn người sử dụng đồng thời Cùng với thay đổi kiến trúc phần mềm, mô hình kinh doanh SaaS (Software as a Service) mô hình dựa quảng cáo (Advertising-based) trở nên phổ biến Trong kiến trúc lớp, ứng dụng truy cập thông qua trình duyệt web ứng dụng di động kết nối tới Internet Trong đám mây, cân tải (load balancing) điều khiển lưu lượng truy cập đến tầng có khả mở rộng theo chiều ngang (scaleout) máy chủ web/ứng dụng mà xử lý logic ứng dụng Kiến trúc mở rộng theo chiều ngang tầng ứng dụng làm việc tốt Với 10.000 (hay tùy ý) người dùng đồng thời, ta cần thêm server khác đến tầng ứng dụng để chịu tải Tại tầng CSDL, CSDL quan hệ lựa chọn nhiều nhất, việc sử dụng chúng ngày gặp nhiều vấn đề rắc rối Bởi vì, liệu CSDL quan hệ thường tập trung có xu hướng mở rộng theo chiều dọc (scale up) mở rộng theo chiều ngang (scale out) Điều dẫn đến CSDL khó phù hợp với ứng dụng yêu cầu khả mở rộng động (dynamic scalability) dễ dàng Các công nghệ NoSQL xây dựng với mục đích phân tán từ lúc ban đầu (ground up) cộng với kỹ thuật mở rộng theo chiều ngang, tương thích tốt với chất phân tán cao kiến trúc tầng Internet Hình : Sự phát triển Cloud THE INTERNET OF THINGS Thực tế cho thấy, số lượng thiết bị kết nối internet đồng thời có khả tạo liệu ngày gia tăng trở nên phổ biến Theo thời gian, thiết bị ngày nâng cấp thành thiết bị tiện dụng thông minh hơn, điển hình quen thuộc smart phone, tablet,… Tuy nhiên, liệu từ xa thường nhỏ, bán cấu trúc (semi-structured), cấu trúc (unstructured) cập nhật liên tục Điều mang đến nhiều thách thức cho RDBMS vốn đòi hỏi lược đồ cố định (fixed shema) liệu có cấu trúc (structured data) Để giải thách thức này, doanh nghiệp có xu hướng đổi tin tưởng vào công nghệ NoSQL để mở rộng việc truy cập đồng thời cho hàng triệu thiết bị kết nối, lưu trữ hàng tỷ điểm liệu đồng thời đáp ứng yêu cầu hiệu sở hạ tầng (infrastructure) hoạt động (operation) then chốt (mission-critical) Hình : The internet of things ĐỊNH NGHĨA NoSQL có nghĩa Non-Relational (NoRel) - không ràng buộc Tuy nhiên, thuật ngữ phổ dụng ngày người ta thường dịch NoSQL thành Not Only SQL - Không SQL NoSQL ám đến sở liệu không dùng mô hình liệu quan hệ để quản lý liệu lĩnh vực phần mềm Một số đặc điểm : schema-free, hỗ trợ mở rộng dễ dàng, API đơn giản, eventual consistency (nhất quán cuối) và/hoặc transactions hạn chế thành phần liệu đơn lẻ, không giới hạn không gian liệu, MỘT SỐ THUẬT NGỮ LIÊN QUAN Non-relational : relational - ràng buộc - thuật ngữ sử dụng đến mối quan hệ bảng sở liệu quan hệ (RDBMs) sử dụng mô hình khóa gồm loại khóa: khóa khóa phụ (primary key + foreign key) để ràng buộc liệu nhằm thể tính quán liệu từ bảng khác Non-relational khái niệm không sử dụng ràng buộc liệu cho quán liệu NoSQL database Distributed storage: mô hình lưu trữ phân tán file liệu nhiều máy tính khác mạng LAN Internet Eventual consistency (nhất quán cuối): tính quán liệu không cần phải đảm bảo tức khắc sau phép write Một hệ thống phân tán chấp nhận ảnh hưởng theo phương thức lan truyền sau khoảng thời gian (không phải tức khắc), thay đổi đến điểm hệ thống, tức cuối (eventually) liệu hệ thống trở lại trạng thái quán (do liệu lưu trữ phân tán, sau lần cập nhật, có độ trễ định để truyền hết đến nốt hệ thống, tham khảo thêm : http://www.sqlviet.com/blog/nhat-quan-cuoi-cung) Vertical scalable (khả mở rộng chiều dọc): Khi liệu lớn lượng, phương pháp tăng cường khả lưu trữ xử lý việc cải tiến phần mềm cải thiện phần cứng máy tính đơn lẻ gọi khả mở rộng chiều dọc Ví dụ việc tăng cường CPUs, cải thiện đĩa cứng, nhớ máy tính, cho DBMs nằm phạm trù Khả mở rộng chiều dọc có thuật ngữ khác scale up Horizontal scalable (khả mở rộng chiều ngang): Khi liệu lớn lượng, phương pháp tăng cường khả lưu trữ xử lý dùng nhiều máy tính phân tán Phân tán liệu hỗ trợ phần mềm tức sở liệu KIẾN TRÚC SƠ LƯỢC Thiết kế Distributed NoSQL giảm thiểu tối đa phép tính toán, I/O liên quan kết hợp với batch processing đủ đảm bảo yêu cầu xử lý liệu mạng dịch vụ liệu cộng đồng Facebook, Amazon ví dụ điểm hình Về bản, thiết kế NoSQL lựa chọn mô hình lưu trữ tập liệu theo cặp giá trị keyvalue Khái niệm node sử dụng quản lý liệu phân tán Với hệ thống phân tán, việc lưu trữ có chấp nhận trùng lặp liệu Một request truy vấn tới data gửi tới nhiều máy lúc, máy bị chết không ảnh hưởng nhiều tới toàn hệ thống Để đảm bảo tính real time hệ thống xử lý lượng lớn, thông thường người ta tách biệt database làm nhiều database Một database nhỏ đảm bảo vào liên tục, đạt tới ngưỡng thời gian dung lượng, database nhỏ gộp (merge) vào database lớn có thiết kế tối ưu cho phép đọc (read operation) Mô hình cho phép tăng cường hiệu suất I/O - nguyên nhân khiến performance trở nên ĐẶC ĐIỂM High Scalability: Gần giới hạn cho liệu người dùng hệ thống (khả mở rộng theo hai chiều ngang-dọc) High Availability: Do chấp nhận trùng lặp lưu trữ nên node (commodity machine) bị chết không ảnh hưởng tới toàn hệ thống Để đảm bảo tính toàn vẹn (integrity) liệu, hầu hết HQT CSDL cổ điển dựa giao dịch (transaction) Điều đảm bảo tính quán (consistency) tất trường hợp quản lý liệu Những đặc tính giao dịch biết đến ACID:  Atomicity (tính nguyên tố): giao dịch có nhiều hoạt động toàn hoạt động thực thành công không hoạt động thực  Consistency (tính quán): giao dịch tạo trạng thái hợp lệ cho liệu, trường hợp có lỗi chuyển toàn liệu trạng thái trước thực giao dịch  Isolation (tính cô lập): giao dịch thực thi phải đảm bảo tách biệt giao dịch khác  Durability (tính bền vững): liệu xác nhận hệ thống lưu lại cho trường hợp hỏng móc có lỗi hệ thống, liệu phải đảm bảo tình trạng chuẩn xác Tuy nhiên, việc mở rộng theo chiều ngang (scale out) hệ thống tuân thủ theo ACID thể số vấn đề Những xung đột phát sinh khía cạnh khác tính sẵn sàng cao hệ thống phân tán mà giải hoàn toàn được, điều biết với định lý CAP:  Strong Consistency (tính quán mạnh mẽ): nghĩa cách mà hệ thống trạng thái thống sau thực thao tác Một hệ thống phân tán thường coi quán sau cập nhật hoạt động vài thao tác ghi tất thao tác đọc liệu thấy liệu cập nhật  High Availability (tính sẵn sàng cao): nghĩa hệ thống thiết kế thực cho có vấn đề xảy với node cụm (cluster) chẳng hạn bị hư hỏng hay tạm ngưng để nâng cấp theo tác đọc ghi liệu cho phép tiếp tục thực  Partition Tolerance: nghĩa hệ thống cụm hoạt động bình thường đường truyền hai node bị ngắt không liên lạc Các CSDL NoSQL nới lỏng yêu cầu tính quán (consistency) nhằm để tính sẵn sàng (Availability) phân vùng (Partition) tốt Điều dẫn đến hệ thống biết BASE:  Basically Available: bản, hệ thống đảm bảo tính sẵn sàng hầu hết trường hợp  Soft-state: trạng thái hệ thống thay đổi theo thời gian dù có đầu vào hay không  Eventually consistent: hệ thống trở nên quán theo thời gian dù hệ thống có nhận đầu vào thời gian hay không PHÂN LOẠI KEY-VALUE Key-value stores kiểu lưu trữ đơn giản loại CSDL NoSQL đồng thời kiểu lưu trữ cho tất hệ quản trị sở liệu NoSQL Thông thường, hệ quản trị sở liệ Key-value lưu trữ liệu dạng key (là chuỗi nhất) liên kết với value dạng chuỗi văn đơn giản tập, danh sách liệu phức tạp Quá trình tìm kiếm liệu thường thực thông qua key, điều dẫn đến hạn chế độ xác Hình Kiểu key-value Các API cung cấp cho việc truy vấn liệu CSDL NoSQL thường đơn giản Về bản, hầu hết các CSDL NoSQL có API sau: • • • void Put(string key, byte[] data) byte[] Get(string key) void Remove(string key); Với kiểu lưu trữ này, ta dễ dàng nhanh chóng truy xuất thông tin người thông qua key, không đơn việc xử lý liệu phức tạp Dễ thấy ý tưởng HQT CSDL dạng Key-value đơn giản hóa việc lưu trữ liệu, nghĩa không cần quan tâm đến nội dung cần lưu trữ Nói cách khác, chúng lưu trữ thông tin mà không cần phải xác định lược đồ Việc để biết liệu thực tế định nghĩa (mang tính tham khảo) phía client Điều làm cho phương pháp lưu trữ liệu với Key-value trở nên đơn giản nhiều việc xây dựng khả mở rộng linh động hiệu suất cho thao tác truy vấn liệu cực nhanh Như vậy, với đơn giản cách lưu trữ dạng Key – value làm cho CSDL loại phù hợp với ứng dụng cần truy xuất nhanh khả mở rộng cao, chẳng hạn quản lý phiên giao dịch (session) quản lý thông tin giỏ hàng trường hợp này, việc biết ID phiên giao dịch ID khách hàng điều cần thiết Hay việc quản lý thông tin sản phẩm bao gồm thông tin bản, sản phẩm liên quan, đánh giá,… lưu trữ dạng key mã sản phẩm chẳng hạn value thông tin lại sản phẩm cần lưu trữ Điều này, cho phép ta truy xuất tất thông tin sản phẩm thông qua mã sản phẩm nhanh 10 CSDL key-value nói chung hữu ích để lưu trữ thông tin phiên làm việc(sessions), hồ sơ người dùng, sở thích, liệu giỏ hàng Tránh sử dụng sở liệu key-value cần phải truy vấn liệu, có mối quan hệ liệu lưu trữ cần để hoạt động nhiều phím lúc DOCUMENT CSDL Document thiết kế để quản lý lưu trữ liệu dạng document Những document mã hóa dạng chuẩn XML, JSON (Javascript Option Notation) hay BSON (Binary JSON) Khác với kiểu lưu trữ dạng Key-value, giá trị cột CSDL document chứa liệu bán cấu trúc (Semi-Structured Data), đặc biệt cặp thuộc tính name (key) – value Một cột chứa hàng trăm thuộc tính vậy, số lượng, loại thuộc tính lưu lại khác dòng Một điểm khác so với kiểu lưu trữ liệu dạng Key-value đơn giản key value tìm kiếm CSDL Document Hình Kiểu Document CSDL Document phù hợp cho việc lưu trữ quản lý tập liệu có kích thước lớn tài liệu văn bản, tin nhắn, biểu diễn thực thể CSDL Product hay Customer (tài liệu khái niệm XML) Hữu ích cho hệ thống quản lý nội dung blog, phân tích web, ứng dụng phân tích thời gian thực thương mại điện tử Tránh sử dụng sở liệu 11 tài liệu cho hệ thống mà cần giao dịch phức tạp kéo dài nhiều hoạt động tổng hợp truy vấn cấu trúc khác Các CSDL tiêu biểu cho CSDL Document: CouchDB (JSON), MongoDB (BSON),… mà nguồn mở (open source), hướng document (ducument oriented) có lược đồ tự (shema free) COLUMN FAMILY Column Family biết đến rộng rãi qua triển khai BigTable Google Nhìn bề ngoài, chúng giống với CSDL quan hệ thực tế hoàn toàn khác Một số khác biệt dễ thấy việc lưu trữ liệu theo dòng HQT CSDL quan hệ với việc lưu trư liệu theo cột HQT CSDL Conlumn Family Và tư tưởng hai loại CSDL hoàn toàn khác Chúng ta áp dụng giải pháp mà sử dụng CSDL quan hệ vào CSDL Conlumn Family Bởi vì, CSDL Column Family CSDL phi quan hệ Với CSDL Column Family, cần quan tâm đến khái niệm sau: Column family (họ cột): Một column family cách thức liệu lưu trữ đĩa Tất liệu cột lưu file Một column family chứa super column column  Super column (siêu cột): Một super column dùng dictionary (kiểu từ điển) Nó column chứa column khác (mà super column)  Column (cột): Một column gồm tên, giá trị dấu thời gian (thông thường quan tâm tới key-value)  Column super column column family database dùng thay nhau, có nghĩa chúng byte chúng chứa liệu Không giống bảng, thứ cần xác định column family database tên cột tùy chọn (không có lược đồ cố định) CSDL Column Family thiết kế để chạy số lượng lớn máy, lưu trữ lượng liệu cực lớn Chúng ta lưu trữ lượng lớn liệu sở liệu quan hệ chắn chúng nhanh chóng bị sụp đổ chết nhanh kích thước liệu truy vấn CSDL Column Family xử lý cách dễ dàng Các CSDL Column Family loại bỏ khái niệm trừu tượng, thứ làm cho cứng nhắt chạy cụm máy CSDL column-family thường hữu ích cho hệ thống quản lý nội dung blog, bảo trì, hết hạn sử dụng, khối lượng ghi nặng log tập hợp Chúng ta tránh sử dụng sở liệu column-family hệ thống phát triển sớm thay đổi mẫu truy vấn 12 Hình : Column Fanmily Một số sản phẩm thông dụng: Hadoop/HBase – Apache, BigTable – Google, Cassandra Facebook/Apache, Hypertable - Zvents Inc/Baidu, Cloudera, SciDB, Mnesia, Tablets,… GRAPH DATABASE Cơ sở liệu đồ thị sở liệu dạng đồ thị sử dụng cấu trúc đồ thị với nút (nodes), mối quan hệ (relationships), thuộc tính (properties) để mô tả lưu trữ liệu Chúng ta thực truy vấn phức tạp lọc thuộc tính quan hệ, xem xét trọng số người đó,… Graph Database thường sử dụng để giải vấn đề mạng Trong thực tế, hầu hết trang web mạng xã hội sử dụng số hình thức graph database để làm việc mà biết như: kết bạn, bạn bạn, … Hình 8: Graph Database 13 Một vấn đề việc mở rộng Graph Database khó để tìm thấy đồ thị độc lập, có nghĩa khó để ta phân tán Graph Database thành nhiều mảnh Có nhiều nỗ lực nghiên cứu cho việc chưa có giải pháp đáng tin cậy đưa CSDL graph database phù hợp tốt với không gian vấn đề mà kết nối liệu, chẳng hạn mạng xã hội, liệu không gian, thông tin định tuyến cho hàng hóa tiền bạc Một số sản phẩm tiêu biểu graph database là: Neo4J, Sones, AllegroGraph, Core Data, DEX, FlockDB, InfoGrid, OpenLink Virtuoso,… ƯU VÀ NHƯỢC ĐIỂM CỦA NOSQL ƯU ĐIỂM : Open source - kinh tế : sản phẩm nguồn mở đưa cho người phát triển với nhiều lợi ích to lớn, đặc biết việc sử dụng miễn phí Những lợi ích khác phần mềm nguồn mở có xu hướng tin cậy hơn, an ninh nhanh để triển khai so với lựa chọn thay sở hữu độc quyền Các sở liệu NoSQL thường sử dụng cụm máy chủ giá rẻ để quản lý việc khai phá liệu khối lượng giao dịch, RDBMS có xu hướng dựa máy chủ độc quyền đắt tiền hệ thống lưu trữ Kết chi phí cho GB giao dịch / giây cho NoSQL thấp chi phí cho RDBMS nhiều lần, cho phép bạn lưu trữ xử lý liệu với mức giá thấp nhiều Mô hình liệu linh hoạt: Một sở liệu NoSQL chấp nhận tất loại liệu – cấu trúc, bán cấu trúc phi cấu trúc – dễ dàng nhiều so với sở liệu quan hệ mà dựa vào lược đồ xác định trước Khả mở rộng linh hoạt: NoSQL có khả mở rộng linh hoạt Thay bổ sung thêm máy chủ lớn để điều khiển nhiều tải liệu hơn, CSDL NoSQL cho phép công ty phân tán tải qua nhiều máy chủ mà tải gia tăng NoSQL phù hợp với công nghệ đám mây: NoSQL đám mây trùng khớp tự nhiên Các máy chủ ngày không đắt dễ dàng mở rộng phạm vi theo yêu cầu có sử dụng dịch vụ Amazon EC2 Giống tất công nghệ đám mây, EC2 dựa vào ảo hóa Liên kết yếu ảo hóa thực thi I/O, với nhớ CPU các kết nối mạnh Các CSDL NoSQL hầu hết sử dụng nhớ qua đĩa vị trí ghi Vì ngăn ngừa thực thi không ổn định I/O Và NoSQL lưu trữ liệu thường thúc đẩy tính mở rộng phạm vi theo chiều ngang thông qua việc ngăn chia, chúng có khả tận dụng việc cung cấp mềm dẻo đám mây 14 Các CSDL NoSQL đa dạng : có nhiều loại CSDL NoSQL, loại có đặc điểm phù hợp với dự án khác chẳng hạn, MongoDB Redis lựa chọn tốt cho việc lưu trữ liệu thống kê đọc mà lại viết thường xuyên, số đếm truy cập web chẳng hạn Hadoop, CSDL dạng tự do, phân tán làm tốt công việc lưu trữ liệu lớn số thống kê thời tiết công việc phân tích nghiệp vụ NHƯỢC ĐIỂM Chuyên môn : tính mẻ NoSQL có nghĩa nhiều lập trình viên người quản trị biết công nghệ Như khó khăn cho công ty tìm người với tinh thông phù hợp Dễ dàng để tìm thấy lập trình viên có kinh nghiệm RDBMS quản trị chuyên gia NoSQL Những vấn đề tính tương thích: không giống CSDL quan hệ, CSDL NoSQL chia sẻ theo cách thức tiêu chuẩn Mỗi CSDL NoSQL có giao diện lập trình ứng dụng API riêng mình, giao diện truy vấn riêng,… Sự thiếu hụt tiêu chuẩn gây nhiều khó khăn chuyển từ nhà cung cấp sang nhà cung cấp khác có nhu cầu Hỗ trợ : Doanh nghiệp muốn bảo đảm hệ thống quan trọng lỗi, họ có hỗ trợ kịp thời có thẩm quyền Tất nhà cung cấp RDBMS đến độ dài lớn để cung cấp mức độ hỗ trợ doanh nghiệp Ngược lại, hệ thống NoSQL dự án mã nguồn mở, thường có nhiều công ty cung cấp hỗ trợ cho sở liệu NoSQL, công ty thường có quy mô start-up nhỏ mà tiếp cận toàn cầu, nguồn lực hỗ trợ, độ tin cậy Oracle, Microsoft , IBM CHỈ MỤC HÌNH ẢNH [1] Hình : http://sungsoo.github.io/2014/07/08/nosql-background.html [2] Hình : http://www.eazystock.com/blog/2015/09/01/4-ways-big-data-is-changinghow-companies-manage-inventory/ [3] Hình : http://webplay.pro/cloud/cloud-computing-service-models.html [4] Hình : http://thenewstack.io/what-does-it-mean-to-be-on-the-internet-of-things/ [5] Hình 5: http://www.datasciencecentral.com/profiles/blogs/lesson-5-key-value-storesaka-tuple-stores [6] Hình 6: http://bigdata-blog.com/document-oriented-database [7] Hình : https://neo4j.com/blog/aggregate-stores-tour 15 [8] Hình : http://www.cbsolution.net/techniques/ontarget/databases_relational_vs_object_vs THAM KHẢO [1] http://code4lifevn.blogspot.com/2013/08/10-dieu-ban-nen-biet-ve-nosql-database.html [2] http://binhgiang.sourceforge.net/site/NoSQL2.pdf [3] http://gg.edu.vn/nosql-databases-dinh-nghia-v-giai-thch [4] http://code4lifevn.blogspot.com/2013/08/10-dieu-ban-nen-biet-ve-nosqldatabase.html\ 16 [...]... nhiều Mô hình dữ liệu linh hoạt: Một cơ sở dữ liệu NoSQL là có thể chấp nhận tất cả các loại dữ liệu – cấu trúc, bán cấu trúc và phi cấu trúc – dễ dàng hơn nhiều so với một cơ sở dữ liệu quan hệ mà dựa vào một lược đồ được xác định trước Khả năng mở rộng linh hoạt: NoSQL có khả năng mở rộng linh hoạt 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... làm việc(sessions), hồ sơ người dùng, sở thích, dữ liệu giỏ hàng Tránh sử dụng cơ sở dữ liệu key-value khi chúng ta cần phải truy vấn dữ liệu, có các mối quan hệ giữa các dữ liệu được lưu trữ hoặc chúng ta cần để hoạt động trên nhiều phím cùng lúc DOCUMENT CSDL Document được thiết kế để quản lý và lưu trữ dữ liệu ở dạng document Những document này được mã hóa về các dạng chuẩn như là XML, JSON (Javascript... GRAPH DATABASE Cơ sở dữ liệu đồ thị là một cơ sở dữ liệu dạng đồ thị sử dụng các cấu trúc đồ thị với các nút (nodes), các mối quan hệ (relationships), các thuộc tính (properties) để mô tả và lưu trữ dữ liệu Chúng ta có thể thực hiện những truy vấn phức tạp hơn như lọc trên các thuộc tính quan hệ, xem xét trọng số của người đó,… Graph Database thường được sử dụng để giải quyết các vấn đề về mạng Trong... và quản lý tập dữ liệu có kích thước lớn như là tài liệu văn bản, tin nhắn, cũng như biểu diễn một thực thể CSDL như là Product hay Customer (tài liệu khái niệm trong XML) Hữu ích cho hệ thống quản lý nội dung như blog, phân tích web, ứng dụng phân tích thời gian thực và thương mại điện tử Tránh sử dụng cơ sở dữ liệu 11 tài liệu cho hệ thống mà cần giao dịch phức tạp kéo dài nhiều hoạt động hoặc tổng. .. các lựa chọn thay thế sở hữu độc quyền 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 và 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 và 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... lược đồ cố định) CSDL Column Family được thiết kế để chạy trên một số lượng lớn các máy, và lưu trữ một lượng dữ liệu cực lớn Chúng ta không thể lưu trữ một lượng lớn dữ liệu trong cơ sở dữ liệu quan hệ vì chắc chắn chúng sẽ nhanh chóng bị sụp đổ hoặc là chết rất nhanh về kích thước của dữ liệu và những truy vấn đó được các CSDL Column Family xử lý một cách dễ dàng Các CSDL Column Family loại bỏ các... chúng khá giống với CSDL quan hệ nhưng thực tế là hoàn toàn khác Một số sự khác biệt dễ thấy nhất là việc lưu trữ dữ liệu theo dòng đối với các HQT CSDL quan hệ với việc lưu trư dữ liệu theo cột của các HQT CSDL Conlumn Family Và các tư tưởng của cả hai loại CSDL này cũng hoàn toàn khác nhau Chúng ta không thể áp dụng cùng một giải pháp mà chúng ta đã sử dụng trong CSDL quan hệ vào CSDL Conlumn Family... 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ụ NHƯỢC ĐIỂM Chuyên môn : tính 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ị biết công nghệ này Như vậy sẽ rất khó khăn cho các công ty tìm người với sự tinh thông phù hợp 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 Những vấn đề về. .. 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 CHỈ MỤC HÌNH ẢNH [1] Hình 1 : http://sungsoo.github.io/2014/07/08 /nosql- background.html [2]... đị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 14 Các CSDL NoSQL đa dạng : có nhiều loại CSDL NoSQL, mỗi loại có những đặc điểm phù hợp với những dự án khác nhau chẳng hạn, 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

Ngày đăng: 13/11/2016, 21:35

w