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

Khảo sát tổng hợp về NewSQL

36 570 2

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN LÊ HỒNG DANH MSHV: 16C12005 ĐỒ ÁN MÔN HỌC CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: SURVEY OF NEWSQL DATABASE SYSTEM TP HỒ CHÍ MINH - 2017 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ĐỒ ÁN MÔN HỌC CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: SURVEY OF NEWSQL DATABASE SYSTEM LÊ HỒNG DANH MSHV: 16C12005 TP HỒ CHÍ MINH - 2017 LỜI CẢM ƠN -o0o Tôi xin gửi lời cảm ơn chân thành tri ân sâu sắc Thầy/cô Trường Đại học Khoa học Tự nhiên TP Hồ Chí Minh, đặc biệt Thầy/cô Khoa Công Nghệ Thông tin phòng Sau Đại học tạo điều kiện cho học môn “Cơ Sở Dữ Liệu Nâng Cao” xin chân thành cảm ơn Cô TS Nguyễn Trần Minh Thư tận tâm truyền đạt kiến thức quý báu sở liệu nâng cao Trong trình học tập, q trình làm đồ án, khó tránh khỏi sai sót, mong Thầy/cơ bỏ qua Đồng thời trình độ lý luận kinh nghiệm thực tiễn hạn chế nên đồ án khơng thể tránh khỏi thiếu sót, tơi mong nhận ý kiến đóng góp Thầy/cơ để tơi học thêm nhiều kinh nghiệm hoàn thành tốt đồ án tới MỤC LỤC -o0o TÓM LƯỢC CHƯƠNG GIỚI THIỆU CHƯƠNG LỊCH SỬ NGẮN GỌN CỦA DBMS VÀ ĐỘNG LỰC CỦA NEWSQL CHƯƠNG PHÂN LOẠI 3.1 Định nghĩa 3.2 New Architectures 3.3 Transparent Sharding Middleware 10 3.4 Database as a Service 11 CHƯƠNG TÍNH NĂNG CỦA NEWSQL 13 4.1 Khả truy vấn 14 4.2 Kiểm soát đồng thời 16 4.3 Bản 17 4.4 Phân vùng 19 4.5 Tính quán 22 4.6 Lưu trữ nhớ 23 4.7 Phục hồi lỗi 25 CHƯƠNG KẾT LUẬN 29 TÀI LIỆU THAM KHẢO 31 TÓM LƯỢC -o0o Mặc dù sở liệu quan hệ truyền thống sử dụng phạm vi lớn ứng dụng, gần chứng kiến bùng nổ số lượng sở liệu phát triển đặc biệt cho việc phục vụ liệu lớn Hiện giải pháp thay cho RDMBS sở liệu NoSQL NewSQL Trọng tâm đồ án khảo sát, so sánh đánh giá số sở liệu NewSQL Các sở liệu NoSQL tạo phương tiện để cung cấp tính sẳn sàng cao với giá phải trả đặc điểm ACID cuả sỡ liệu quan hệ Để giải vấn để khảo sát đánh giá NewSQL hệ thống quản lý nhằm cung cấp hiệu mở rộng NoSQL hệ thống xử lý giao dịch trực tuyến OLTP trì đặc điểm ACID CHƯƠNG GIỚI THIỆU Trong thập kỷ qua, chứng kiến gia tăng nhanh chóng số loại khác sở liệu Nó liên quan đến phát triển Internet, thiết bị di động điện toán đám mây Tất môi trường áp đặt yêu cầu cho việc lưu trữ có hiệu xử lý liệu Để đối phó với thách thức này, số cơng ty trì trung tâm liệu có cụm với hàng ngàn máy móc thiết bị Các sở liệu quan hệ cũ không cung cấp giải pháp tốt tình này, đến mơ hình liệu chuẩn hóa hỗ trợ đầy đủ ACID Ngồi ra cách tiếp cận phổ biến "một kích thước phù hợp với tất cả" khơng giá trị cho kịch ứng dụng Ngược lại, thực tế thích hợp nhiều để thiết kế hệ thống dựa tính chất ứng dụng liệu Do đó, nhiều giải pháp sở liệu thay thiết kế đặc biệt để đáp ứng nhu cầu đa dạng Thuật ngữ NewSQL lần sử dụng tác giả báo cáo phân tích kinh doanh năm 2011 thảo luận lên hệ thống sở liệu thách thức nhà cung cấp (Oracle, IBM, Microsoft) Một câu hỏi đặt liệu NewSQL thật tốt hay không? Hay quảng cáo tiếp thị cho dự án mà công ty nghiên cứu Trong sở liệu quan hệ (RDBMS) tồn thập kỉ nhiều cơng ty sử dụng NewSQL có đem lại lợi ích phần cứng nâng cao nhiều lần mà tắc nghẽn từ năm trước khơng vấn đề Để làm điều này, trước tiên thảo luận lịch sử RDBMS để hiểu hệ thống NewSQL xuất Sau tơi cung cấp giải thích chi tiết thuật ngữ NewSQL loại hệ thống khác nằm định nghĩa CHƯƠNG LỊCH SỬ NGẮN GỌN CỦA DBMS VÀ ĐỘNG LỰC CỦA NEWSQL Các DBMS xuất mạng vào năm 1960, phiên IMS IBM xây dựng để theo dõi nguồn cung cấp phận kiểm kê cho dự án thăm dò khơng gian Saturn V and Apollo Nó giúp thể ý tưởng code ứng dụng tách biệt khỏi phần liệu Điều cho phép nhà phát triển viết ứng dụng tập trung vào phần truy cập thao tác liệu IMS sau khai thác vào đầu năm 1970 DBMS đời System R IBM INGRES Trường Đại học California INGRES sớm thông qua trường đại học khác cho hệ thống thông tin họ sau thương mại hóa vào cuối năm 1970 Khoảng thời gian Oracle phát triển phiên DBMS tương tự thiết kế System R Các công ty khác thành lập vào đầu năm 1980 nhằm tìm cách lặp lại thành công DBMS thương mại bao gồm Sybase Infomix Mặc dù IBM chưa cung cấp System R cho cơng chúng, sau phát hành RDBMS (DB2) năm 1983 sử dụng phần sở mã System R Cuối năm 1980 đầu năm 1990 tạo DBMS thiết kế để vượt qua không phù hợp mơ hình quan hệ hướng đối tượng ngơn ngữ lập trình Tuy nhiên, DBMS khơng nhìn thấy chấp nhận rộng rãi thị trường thiếu giao diện chuẩn SQL Nhưng nhiều ý tưởng từ họ cuối kết hợp DBMS quan hệ nhà cung cấp thêm đối tượng XML hỗ trợ thập niên sau đó, lần tài liệu theo định hướng NoSQL hai thập kỷ sau Sự kiện bật khác năm 1990 khởi đầu hai dự án DBMS mã nguồn mở MySQL bắt đầu Thụy Điển vào năm 1995 dựa hệ thống mSQL dựa ISAM trước PostgreSQL bắt đầu vào năm 1994 hai sinh viên tốt nghiệp Berkeley gỡ bỏ mã Postgres gốc dựa QUEL từ năm 1980 để hỗ trợ SQL Từ năm 2000 xuất ứng dụng internet có nhiều yêu cầu nguồn tài nguyên ứng dụng từ năm trước Họ cần quy mô lớn để hỗ trợ số lượng lớn người dùng đồng thời thời gian thực Những sở liệu cho ứng dụng ln tồn nút thắt cổ chai nhu cầu tài nguyên lớn nhiều so với DBMS phần cứng hỗ trợ vào thời điểm Nhiều người cố gắng mở rộng DBMS theo chiều dọc cách di chuyển sở liệu đến máy với phần cứng tốt Điều cải thiện hiệu suất nhiều có giảm dần lợi nhuận Hơn nữa, di chuyển sở liệu từ máy sang máy khác q trình phức tạp thường đòi hỏi thời gian chết đáng kể chấp nhận cho ứng dụng Web Vượt qua vấn đề này, số công ty tạo tùy chỉnh middleware để shader singlenode DBMSs nhóm máy tính tốn Các middleware trình bày sở liệu hợp lý để ứng dụng lưu trữ nhiều nodes vật lý Khi ứng dụng phát câu truy vấn sỡ liệu này, middleware chuyển hướng viết lại để phân phối thực nhiều nodes cluster Các node thực câu truy vấn gửi kết trở lại cho middleware, sau kết hợp chúng thành kết hoàn chỉnh cho ứng dụng Hai ứng dụng bật cách tiếp cận middleware cụm dựa Oracle eBay cluster dựa MySQL Microsoft Cách tiếp cận sau Facebook chấp nhận cho cụm MySQL họ mà sử dụng ngày Sharding middleware hoạt động tốt cho hoạt động đơn giản đọc cập nhật ghi Tuy nhiên, khó khăn phải thực truy vấn cập nhật nhiều ghi phiên giao dịch kết nối nhiều bảng Như vậy, hệ thống middleware khơng hỗ trợ hoạt động Ví dụ, middleware eBay vào năm 2002 yêu cầu nhà phát triển họ thực tất hoạt động liên kết mã ứng dụng Cuối cùng, số công ty chuyển từ sử dụng middleware phát triển DBMS họ Có động lực cho việc này: Đầu tiên hệ thống RDBMS vào thời điểm tập trung vào tính quán hiệu suất Nhưng phiên đánh giá không phù hợp với ứng dụng dựa Web cần hỗ trợ số lượng lớn hoạt động đồng thời Thứ hai, người ta cho có q nhiều chi phí việc sử dụng DBMS đầy đủ MySQL kho liệu “dumb” Tương tự, người ta cho mô hình quan hệ khơng phải cách tốt để đại diện cho liệu ứng dụng sử dụng SQL mức cần thiết cho truy vấn tìm kiếm đơn giản Những vấn đề hóa nguồn gốc thúc đẩy cho phong trào NoSQL vào đến cuối năm 2000 Khía cạnh quan trọng hệ thống NoSQL họ bỏ qua đảm bảo giao dịch mạnh mẽ mơ hình quan hệ DBMS truyền thống để tạo quán cuối mô hình liệu thay (ví dụ: key/value, graphs, documents) Bởi người ta tin khía cạnh DBMS có khả mở rộng đạt sẵn sàng cao cần thiết để hỗ trợ ứng dụng dựa Web Hai hệ thống tiếng theo sau tin tưởng BigTable Google Dynamo Amazon Cả hai hệ thống có sẵn bên ngồi cơng ty họ lúc đầu (mặc dù dịch vụ cloud), tổ chức khác tạo nguồn mở riêng họ nhân chúng Chúng bao gồm Facebook's Cassandra (dựa BigTable Dynamo) Hbase PowerSet (dựa BigTable) Những doanh nghiệp thành lập tạo hệ thống riêng họ không thiết phải hệ thống Google Amazon theo nguyên lý NoSQL; nhiều tiếng số MongoDB Vào cuối năm 2000, có DBMS phân phối mở rộng mở rộng Lợi việc sử dụng hệ thống NoSQL (hay người nghĩ) nhà phát triển tập trung vào khía cạnh ứng dụng có lợi cho kinh doanh tổ chức phải lo lắng việc làm để mở rộng hệ thống DBMS Tuy nhiên, nhiều ứng dụng sử dụng hệ thống NoSQL họ khơng thể từ bỏ u cầu giao dịch tính quán mạnh mẽ Điều phổ biến hệ thống doanh nghiệp xử lý liệu cao cấp (ví dụ: hệ thống xử lý đơn hàng tài chính) Một số tổ chức, đặc biệt Google, phát DBMS NoSQL khiến cho nhà phát triển nhiều thời gian để viết mã để xử lý liệu không quán sử dụng giao dịch làm cho chúng hiệu Vì vậy, lựa chọn có sẵn cho tổ chức mua máy đơn node mạnh để mở rộng quy mô DBMS theo chiều dọc, để phát triển middleware tùy chỉnh riêng họ để hỗ trợ giao dịch Cả hai cách tiếp cận tốn khơng phải lựa chọn cho nhiều người Đó mơi trường động lực để phát triển hệ thống sở liệu NewSQL CHƯƠNG PHÂN LOẠI 3.1 Định nghĩa Thuật ngữ NewSQL có nhiều định nghĩa phổ biến có định nghĩa sau:  Matt Asslet – 451 Group (April 4th, 2011) NewSQL hệ thống cung cấp khả mở rộng tính linh hoạt NoSQL giữ hỗ trợ cho truy vấn SQL ACID để cải thiện hiệu suất cho khối lượng cơng việc thích hợp  Michael stonebraker – blog@cacm (june 16th, 2011) Một định nghĩa hẹp cho việc triển khai hệ thống NewSQL: • Sử dụng lock-free kiểm soát truy cập đồng thời lược đồ • Sử dụng shared-nothing kiến trúc phân tán • Hỗ trợ truy vấn SQL • Hỗ trợ ACID cho giao dịch • Hiệu cao cho node • Khả mở rộng cao 18 hoạt động theo hướng từ master đến slave, multi-master xảy theo nhiều hướng khác Hình Hình cho thấy khác hai kiểu chép master-slave master-master Hình Master-slave, tất ghi thực master truyền đến slave Hình Master-Master, hoạt động ghi thực master node khác 19 Hình VoltDB Các mơ hình nhân rộng sở liệu NewSQL coi masterless multi-master, node nhận cập nhật Trong NuoDB, hàng (tuple) đại diện bên đối tượng "trong nhớ" mà không đồng liên lạc để nhân rộng thay đổi trạng thái chúng VoltDB có người quản lý giao dịch / phiên làm việc chịu trách nhiệm tiếp nhận cập nhật chuyển tới tất thực song song, tương đồng Bảng mô tả kỹ thuật nhân khác sử dụng NuoDB VoltDB Database Cơ chế chép VoltDB thực cập nhật tất lúc NuoDB nhân rộng đối tượng phân tán Bảng Bản 4.4 Phân vùng Khi đối phó với liệu lớn, số lượng lớn liệu tốc độ đọc ghi cao vượt khả máy chủ, sở liệu phải phân chia thành cụm Các hệ thống quản lý sở liệu quan hệ truyền thống (RDBMS) 20 thường không hỗ trợ khả mở rộng theo chiều ngang mơ hình liệu bình thường thuộc tính ACID Do nhân đơi số lượng máy chủ cluster RDBMS không tăng gấp đôi hiệu suất Vấn đề lý người dùng web đa phần sử dụng Google, Amazon Facebook bắt đầu phát triển hệ thống lưu trữ liệu riêng mình, thiết kế theo chiều ngang đáp ứng yêu cầu cao hiệu suất ứng dụng Web Có nhiều kỹ thuật phân vùng liệu sử dụng hệ thống sở liệu khác Hầu hết sở liệu NewSQL thực số loại ngang phân vùng sharding, bao gồm việc lưu trữ bộ đôi (hàng) vào phân đoạn mảnh khác Hai chiến lược liên quan đến phân vùng theo chiều ngang là: Phân vùng theo dải: lược phân phối liệu tới phân vùng nằm máy chủ khác dựa phạm vi khóa phân vùng Ban đầu máy chủ định tuyến chia tách tồn tập liệu theo dải khóa chúng Sau đó, node có trách nhiệm giải trình để lưu trữ đọc/ghi phạm vi cụ thể Hợp hashing: chiến lược cung cấp sẵn có cao cấu trúc cụm đơn giản so với phân vùng dải Bố cục hợp hoạt động sau: liệu biểu diễn dạng vòng tròn, chia thành số dải đến số node sẳn có, nút ánh xạ tới điểm tương ứng vòng 21 Hình Consistent Hashing example, with three nodes VoltDB sử dụng cách tiếp hashing phù hợp, bảng phân chia cách sử dụng khóa phân phối node Các thủ tục lưu sẵn thực phân vùng tất chúng, người dùng định Mặt khác, NuoDB sử dụng cách tiếp cận hoàn toàn khác cho phân vùng liệu NuoDB sử dụng số quản lý lưu trữ (SM) quản lý giao dịch (TM) Các SM node chịu trách nhiệm lưu trữ liệu, TM node xử lý truy vấn Mỗi SM có hoàn chỉnh toàn liệu, có nghĩa khơng có phân vùng xảy SM Tuy nhiên, khóa-giá trị lưu trữ sử dụng SM phân vùng liệu nó, điều khơng kiểm sốt khơng thể xem người dùng Bảng mô tả kỹ thuật phân vùng khác sử dụng NuoDB VoltDB Database Cơ chế phân chia VoltDB Consistent hashing Người dùng xác định liệu thủ tục lưu trữ nên chạy máy chủ tất máy chủ 22 NuoDB Không phân vùng Kho lưu trữ keyvalue bên phân vùng liệu, khơng hiển thị người sử dụng Bảng Cơ chế phân chia 4.5 Tính quán Sự quán liên quan chặt chẽ đến việc thực phân vùng thảo luận trước Thơng thường có loại chính: Strong Consistency: đảm bảo tất yêu cầu viết xác nhận, liệu hiển thị cho tất hoạt động đọc Nhìn chung, thống mạnh mẽ (ngay lập tức) thu việc nhân rộng đồng hồn tồn khơng chép Tuy nhiên, hai lựa chọn giới thiệu độ trễ tác động lớn có ảnh hưởng xấu đến khả mở rộng Eventual Consistency: mơ hình thay đổi đủ thời gian truyền cho đưa Sau đó, số node lỗi thời (khơng phù hợp) khoảng thời gian Sao chép đồng dẫn đến quán cuối cùng, chậm trễ xác nhận ghi truyền thay đổi Bảng So sánh tính quán VoltDB NuoDB Database Loại quán VoltDB Strong Consistency NuoDB Eventual Consistency Bảng So sánh tính quán 23 4.6 Lưu trữ nhớ Với hệ sở liệu truyền thống, liệu lưu trữ thiết bị từ tính, phổ biến đĩa cứng.Trong trình xử lý, liệu nạp vào nhớ đệm để tăng tốc độ xử lý, nhiên, phương pháp xử lý phải dựa thao tác với đĩa cứng Chính mà hiệu xử lý phụ thuộc thao tác xử lý liệu mà phụ thuộc lớn vào thao tác đọc/ghi đĩa Vì giảm thiểu hay loại bỏ thao tác truy xuất đĩa có ý nghĩa với hiệu xử lý hệ thống Khi nhớ bán dẫn ngày rẻ, phương án tiếp cận đưa tất liệu vào nhớ trở nên khả thi Phương án hình thành cách tiếp cận xây dựng hệ quản trị CSDL nhớ (In Memory Database - IMDB) Với mơ hình IMDB, việc tối ưu hố truy vấn khơng cần phải quan tâm nhiều đến chi phí cho phần vào/ra thiết bị lưu trữ, yếu tố then chốt ảnh hưởng đến hiệu xử lý giao tác Ưu điểm đến từ chất nhớ chính: liệu truy xuất theo kiểu RAM (Random Access Memory) thay kiểu truy cập trực tiếp ổ đĩa cứng Một mơ hình IMDB đại nay: H-Store với thể cài đặt VoltDB Hình Mơ hình IMDB 24 Bộ nhớ máy tính có tính chất khác so với đĩa từ, khác biệt có ý nghĩa lớn thiết kế hiệu hệ quản trị sở liệu thi hành giao tác trực tuyến (Online Transaction Processing – OLTP) Sự khác biệt thể qua: Thời gian truy xuất (đôi sử dụng thuật ngữ lattency) từ nhớ nhỏ so với đĩa nhớ có phương thức truy cập ngẫu nhiên đĩa từ có phương thức truy cập trực tiếp So với IMDB, việc lưu trữ đĩa từ thuận lợi việc đảm bảo tránh liệu cố kỹ thuật Tuy nhiên, với chế đồng lưu vết thích hợp, nhược điểm IMDB hồn tồn khắc phục IMDB cho phép nâng cao hiệu xử lý giao tác dựa chất phương thức truy cập ngẫu nhiên: giảm thời gian tính tốn tối ưu xử lý truy vấn, giảm thiểu thời gian truy xuất đến liệu, … Hiện nay, mơ hình IMDB cài đặt nhiều hệ quản trị CSDL, thương mại lẫn mã mở hay nghiên cứu thực nghiệm Các hệ quản trị thương mại kể đến giải pháp TimesTen Oracle [5], DB2 BLU IBM, Hekaton Microsoft… Một số hệ quản trị xây dựng phục vụ nghiên cứu cộng đồng mã mở kể đến BigMemory hãng Terracotta, H-Store, VoltDB, … Trong số sản phẩm trên, hệ VoltDB hệ quản trị cài đặt trực tiếp từ mơ hình kiến trúc H-Store, sản phẩm nghiên cứa ba đơn vị: trường Đại học Brown, Carnegie Mellon viện MIT, Mỹ Đây hệ đánh giá có hiệu xử lý giao tác vượt trội, cho phép khai thác tối đa mạnh cơng nghệ tính tốn nhớ dung lượng lớn, đa lõi, đa chíp, … 25 Hình Mơ hình hệ thống H-Store 4.7 Phục hồi lỗi Một tính quan trọng khác hệ thống sở liệu NewSQL để cung cấp khả chịu lỗi chế khôi phục lỗi Các ứng dụng web ln online trang web gặp cố tốn Cách tiếp cận truyền thống để phục hồi hệ 26 thống single-node mà khơng có DBMS online sau bị lỗi, tải lại checkpoint cuối từ đĩa sau replays write-ahead trước để trở lại trạng thái sở liệu trước bị lỗi Phương pháp kinh điển phương pháp gọi ARIES, nhà nghiên cứu IBM phát minh vào năm 1990 Tất DBMSs lớn thực số biến thể ARIES Tuy nhiên, DBMS phân tán với sao, cách tiếp cận single-node truyền thống không trực tiếp áp dụng Điều master node bị cố, hệ thống thúc đẩy node slave để làm master Node khơi phục cần phải có cập nhật từ node master Có hai cách để thực điều Đầu tiên cho node khôi phục checkpoint cuối từ WAL lưu trữ cục sau kéo đăng nhập mục mà bị từ node khác Như lâu dài node xử lý ghi nhanh cập nhật gắn vào nó, node cuối hội tụ đến trạng thái node chép khác Dựa phân loại đặc tính nêu hệ thống sở liệu gọi NewSQL, tơi có tham khảo đưa bảng đánh giá nhận xét cuối cho hệ sở sau: 27 Tên Năm Lưu Phân Kiểm phát vùng sốt trữ 2006 Khơng thời Có MVCC + Strong + Passive 2PL CockroachDB[4] 2014 Không Kết luận đồng hành nhớ Clustrix[3] Bản Có MVCC Tương thích với MySQL, hỗ trợ shared-nothing, thực phân phối Strong + Passive Xây dựng top lưu trữ phân phối key/value, sử dụng phần mềm hybird clocks WAN replication New Architectures Google 2012 Khơng Có Spanner[5] H-Store[6] 2007 Có Có MVCC + Strong + Passive WAN replication, hỗ trợ shared-nothing, 2PL sử dụng phần cứng đặc biệt cho hệ timestamp TO Strong + Active Thực đơn phân vùng Được tối ưu hóa cho thủ tục lưu trữ HyPer[7] 2010 Có Có MVCC Strong + Passive HTAP DBMS sử dụng biên tập truy vấn mục hiệu suất nhớ MemSQL[8] 2012 Có Có MVCC Strong + Passive Phân tán, shared-nothing DBMS sử dụng biên dịch truy vấn Hỗ trợ giao thức wire MySQL NuoDB[9] 2013 Có Có MVCC Strong + Passive Tách kiến trúc với nhiều node thực nhớ node lưu trữ chia sẻ 28 SAP HANA[10] 2010 Có Có MVCC Strong + Passive Lưu trữ lai (hàng + cột) Hợp TREX, P * TIME, MaxDB system VoltDB[11] 2008 Có Có TO Strong + Active Động thực đơn phân vùng Hỗ trợ khai thác trực tuyến Middleware AgilData[12] MariaDB 2007 2015 Khơng Khơng Có Có MaxScale[13] ScaleArc[14] 2009 Khơng Có MVCC + Strong + Passive Cơ sở liệu shared-nothing trường hợp 2PL singlelenode MySQL MVCC + Strong + Passive Định tuyến câu truy vấn hỗ trợ viết lại SQL Dựa 2PL MySQL Cluster để phối hợp Mixed Strong + Passive Định tuyến truy vấn dựa quy tắc cho MySQL, SQL Server Oracle DBaaS Amazon 2014 Không Không MVCC Strong + Passive 2010 Không Không MVCC + Strong + Active Custom log-structured MySQL engine for RDS Aurora[15] ClearDB[16] 2PL Bộ định tuyến tập trung phản ánh thể đơn MySQL nhiều trung tâm liệu 29 CHƯƠNG KẾT LUẬN Xu hướng cho ứng dụng sở liệu tương lai gần khả thực câu hỏi phân tích thuật tốn máy học liệu thu Các công việc gọi phân tích thời gian thực NoSQL sáng bóng; hứa hẹn scale power; dường đường nhanh chóng để thành cơng kỹ thuật Nhưng vấn đề bắt đầu xuất Các nhà phát triển sớm nhận SQL thực hạn chế Mỗi sở liệu NoSQL cung cấp ngôn ngữ truy vấn riêng mình, có nghĩa nhiều ngơn ngữ để học (và dạy cho đồng nghiệp bạn); gia tăng khó khăn việc kết nối sở liệu với ứng dụng, dẫn đến dính theo hàng code; thiếu hệ sinh thái bên thứ ba, đòi hỏi cơng ty phải phát triển công cụ vận hành biểu diễn liệu riêng Những ngôn ngữ NoSQL khơng phát triển đầy đủ Ví dụ, để thêm tính JOIN SQL vào NoSQL phức tạp tầng application Sự thiếu JOINs dẫn đến khơng bình thường, dẫn đến sụp đổ vẹn toàn liệu Một số sở liệu NoSQL thêm ngôn ngữ truy vấn “giống SQL”, CQL Cassandra Nhưng điều thường gây vấn đề tồi tệ Sử dụng giao diện gần giống với phổ biến hơn, thực ám ảnh mặt tinh thần: kỹ sư khơng biết hỗ trợ khơng Cộng đồng phần mềm bắt đầu nhìn thấy ánh sáng trở lại với SQL Đầu tiên giao diện SQL bên Hadoop/Spark, hướng NoSQL thành “Not only SQL” phát triển NewSQL: sở liệu mới, mở rộng hỗ trợ SQL H-Store (xuất năm 2007) MIT nhà nghiên cứu Brown lần thực mở rộng sở liệu OLTP Google tiếp tục dẫn đầu việc nhân rộng sở liệu có giao diện SQL với báo cáo họ, người tiên phong khác CockroachDB (2014) 30 Đồng thời, cộng đồng PostgreSQL bắt đầu hồi sinh, bổ sung cải tiến quan trọng kiểu liệu JSON (2012) loạt tính PostgreSQL 10: hỗ trợ tốt cho phân vùng replication, hỗ trợ tìm kiếm văn tồn diện cho JSON (dự kiến phát hành cuối năm nay) Các công ty khác CitusDB (2016) Yours Truly (TimescaleDB, phát hành năm nay) tìm cách để mở rộng PostgreSQL cho data workload chuyên biệt Từ vấn đề này, cho ta đến kết luận SQL trở lại, giới đầy ắp liệu Bây phần mềm hệ thống phần cứng đủ thông minh, phức tạp hệ thống lưu trữ, xử lý, phân tích…chúng thu thập liệu ngày nhiều để hiểu rõ giới 31 TÀI LIỆU THAM KHẢO -o0o [1] A B M Moniruzzaman, “NewSQL: Towards Next-Generation Scalable RDBMS for Online Transaction Processing (OLTP) for Big Data Management” [2] Wikipedia https://en.wikipedia.org/wiki/NewSQL [3] Clustrix http://www.clustrix.com [4] CockroachDB https://www.cockroachlabs.com [5] J C Corbett, J Dean, M Epstein, A Fikes, C Frost, J Furman, S Ghemawat, A Gubarev, C Heiser, P Hochschild, W Hsieh, S Kanthak, E Kogan, H Li, A Lloyd, S Melnik, D Mwaura, D Nagle, S Quinlan, R Rao, L Rolig, Y Saito, M Szymaniak, C Taylor, R Wang, and D Woodford Spanner: Google’s Globally-Distributed Database In OSDI, 2012 [6] H-Store http://hstore.cs.brown.edu [7] HyPer http://hyper-db.de [8] MemSQL http://www.memsql.com [9] NuoDB http://www.nuodb.com [10] V Sikka, F Färber, W Lehner, S K Cha, T Peh, and C Bornhövd Efficient transaction processing in sap hana database: The end of a column store myth SIGMOD, pages 731–742, 2012 [11] VoltDB http://www.voltdb.com [12] AgilData Scalable Cluster for MySQL http://www.agildata.com/ [13] MariaDB MaxScale https://mariadb.com/products/mariadb-maxscale 32 [14] ScaleArc http://scalearc.com [15] Amazon Aurora https://aws.amazon.com/rds/aurora [16] ClearDB https://www.cleardb.com ... việc phục vụ liệu lớn Hiện giải pháp thay cho RDMBS sở liệu NoSQL NewSQL Trọng tâm đồ án khảo sát, so sánh đánh giá số sở liệu NewSQL Các sở liệu NoSQL tạo phương tiện để cung cấp tính sẳn sàng... cỡ phù hợp với tất cả"; nghĩa việc triển khai chúng cho phù hợp với tất vị trí hình Tiếp theo, thảo luận tính hệ thống sở liệu NewSQL để hiểu lạ hệ thống 4.1 Khả truy vấn Hầu hết sở liệu NewSQL. .. triển hệ thống sở liệu NewSQL CHƯƠNG PHÂN LOẠI 3.1 Định nghĩa Thuật ngữ NewSQL có nhiều định nghĩa phổ biến có định nghĩa sau:  Matt Asslet – 451 Group (April 4th, 2011) NewSQL hệ thống cung cấp

Ngày đăng: 10/12/2017, 08:29

Xem thêm:

w