Yandex đã phát hành mã nguồn của DBMS «YDB»

Gần đây tin tức đã phá vỡ rằng Yandex đã phát hành mã nguồn của DBMS, «YDB», triển khai hỗ trợ cho các giao dịch phương ngữ SQL và ACID.

DBMS được xây dựng từ đầu và ban đầu được phát triển với mục tiêu đảm bảo khả năng chịu lỗi, chuyển đổi dự phòng tự động và khả năng mở rộng. Cần lưu ý rằng Yandex đã khởi chạy các cụm YDB đang hoạt động, bao gồm hơn 10 nghìn nút, lưu trữ hàng trăm petabyte dữ liệu và phục vụ hàng triệu giao dịch phân tán mỗi giây.

Những điểm mới chính của YDB

Trong số các tính năng nổi bật so với YDB là sử dụng mô hình dữ liệu quan hệ với các bảng YQL (Ngôn ngữ truy vấn YDB) được sử dụng để truy vấn và xác định lược đồ dữ liệu, là một phương ngữ của SQL được điều chỉnh để làm việc với cơ sở dữ liệu phân tán lớn. Khi tạo một lược đồ lưu trữ, một nhóm bảng dạng cây được hỗ trợ, giống như các thư mục của hệ thống tệp. Một API được cung cấp để làm việc với dữ liệu ở định dạng JSON.

Các khả năng tạo cấu hình chịu lỗi tiếp tục hoạt động khi đĩa, nút, giá đỡ và thậm chí cả trung tâm dữ liệu riêng lẻ bị lỗi. YDB hỗ trợ triển khai và nhân rộng đồng bộ trên ba Vùng khả dụng trong khi vẫn duy trì trạng thái của cụm trong trường hợp một trong các vùng bị lỗi.

Hỗ trợ truy cập dữ liệu sử dụng các truy vấn quét, được thiết kế để thực hiện các truy vấn phân tích đặc biệt trên cơ sở dữ liệu, được thực thi ở chế độ chỉ đọc và trả về một luồng grpc.

Ngoài ra, nó cũng nổi bật lưu trữ dữ liệu trực tiếp trên các thiết bị khối bằng cách sử dụng thành phần PDisk bản địa và lớp VDisk. Ngoài VDisk, DSProxy chạy, phân tích tính khả dụng và hiệu suất của đĩa để loại trừ chúng nếu phát hiện sự cố.

Của các tính năng khác nổi bật:

  • Một kiến ​​trúc linh hoạt cho phép bạn xây dựng các dịch vụ khác nhau trên YDB, ngay đến các thiết bị khối ảo và các hàng đợi liên tục. Tính phù hợp với các loại khối lượng công việc khác nhau: OLTP và OLAP (truy vấn phân tích).
  • Hỗ trợ cho nhiều người dùng (nhiều người thuê) và cấu hình không máy chủ.
  • Khả năng xác thực khách hàng. Người dùng có thể tạo các cụm và cơ sở dữ liệu ảo của riêng họ trên một cơ sở hạ tầng được chia sẻ chung, xem xét mức tiêu thụ tài nguyên về số lượng yêu cầu và kích thước dữ liệu hoặc bằng cách thuê / dự trữ một số tài nguyên máy tính và không gian lưu trữ.
  • Khả năng điều chỉnh thời gian sử dụng hữu ích của các bản ghi để tự động xóa dữ liệu lỗi thời.
  • Tương tác với DBMS và gửi yêu cầu được thực hiện bằng giao diện dòng lệnh, giao diện web tích hợp hoặc YDB SDK, cung cấp thư viện cho C ++, C # (.NET), Go, Java, Node.js, PHP và Python.
  • Tự động phục hồi từ các lỗi với độ trễ tối thiểu đối với các ứng dụng và tự động duy trì khả năng dự phòng được chỉ định khi lưu trữ dữ liệu.
  • Tự động tạo chỉ mục trên khóa chính và khả năng xác định chỉ mục phụ để nâng cao hiệu quả truy cập cột tùy ý.
  • Khả năng mở rộng theo chiều ngang. Khi tải và kích thước của dữ liệu được lưu trữ tăng lên, cụm có thể được mở rộng đơn giản bằng cách kết nối các nút mới. Các tầng máy tính và lưu trữ là riêng biệt, cho phép bạn chia tỷ lệ máy tính và lưu trữ một cách riêng biệt. Bản thân DBMS giám sát sự phân bố đồng đều của dữ liệu và tải, có tính đến các tài nguyên phần cứng có sẵn. Có thể triển khai các cấu hình phân tán theo địa lý bao gồm nhiều trung tâm dữ liệu ở các khu vực khác nhau trên thế giới.
  • Hỗ trợ mô hình nhất quán mạnh mẽ và các giao dịch ACID khi xử lý các truy vấn trải dài trên nhiều nút và bảng. Để cải thiện hiệu suất, bạn có thể tắt tính năng kiểm tra tính nhất quán một cách có chọn lọc.
  • Tự động sao chép dữ liệu, phân vùng tự động (phân vùng, phân vùng) khi kích thước hoặc tải tăng lên, đồng thời tự động cân bằng tải và dữ liệu giữa các nút.

Cuối cùng, cần lưu ý rằng YDB được sử dụng trong các dự án Yandex, mã được viết bằng C / C ++ và được phân phối theo giấy phép Apache 2.0, bạn có thể xem mã nguồn cũng như biết thêm chi tiết về nó Trong liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.