Bản phát hành hệ quản trị cơ sở dữ liệu phân tán TiDB 3.0

Có sẵn phát hành DBMS phân tán TiDB 3.0được phát triển dưới ảnh hưởng của công nghệ Google hai thanh dọc của cầu и F1. TiDB thuộc loại hệ thống HTAP lai (Giao dịch lai/Xử lý phân tích) có khả năng vừa cung cấp các giao dịch thời gian thực (OLTP) vừa xử lý các truy vấn phân tích. Dự án được viết bằng Go và phân phối bởi được cấp phép theo Apache 2.0.

Các tính năng của TiDB:

  • Hỗ trợ SQL và cung cấp giao diện máy khách tương thích với giao thức MySQL, giúp dễ dàng điều chỉnh các ứng dụng hiện có được viết cho MySQL sang TiDB và cũng cho phép bạn sử dụng các thư viện máy khách phổ biến. Ngoài giao thức MySQL, bạn có thể sử dụng API dựa trên JSON và trình kết nối cho Spark để truy cập DBMS.
  • Trong số các tính năng của SQL, chỉ mục, hàm tổng hợp, GROUP BY, ORDER BY, biểu thức DISTINCT, hợp nhất (LEFT JOIN / RIGHT JOIN / CROSS JOIN), dạng xem, hàm cửa sổ và truy vấn con được hỗ trợ. Các cơ hội được cung cấp là đủ để tổ chức công việc với TiDB của các ứng dụng web như PhpMyAdmin, Gogs và WordPress;
  • Mở rộng quy mô và khả năng phục hồi: Sức mạnh xử lý và lưu trữ có thể được tăng quy mô chỉ bằng cách thêm các nút mới. Dữ liệu được phân phối trên các nút có dự phòng để cho phép các hoạt động tiếp tục nếu các nút riêng lẻ bị lỗi. Lỗi được xử lý tự động.
  • Hệ thống đảm bảo tính nhất quán và trông giống như một DBMS lớn đối với phần mềm máy khách, mặc dù thực tế là dữ liệu từ nhiều nút thực sự được sử dụng để hoàn tất giao dịch.
  • Để lưu trữ dữ liệu vật lý trên các nút, có thể sử dụng các chương trình phụ trợ khác nhau, chẳng hạn như công cụ lưu trữ cục bộ GoLevelDB và BoltDB hoặc công cụ lưu trữ phân tán của riêng chúng tôi TiKV.
  • Khả năng thay đổi sơ đồ lưu trữ một cách không đồng bộ, cho phép bạn thêm các cột và chỉ mục một cách nhanh chóng mà không cần dừng quá trình xử lý các hoạt động đang diễn ra.

Chính đổi mới:

  • Công việc đã được thực hiện để tăng năng suất. Trong thử nghiệm Sysbench, bản phát hành 3.0 nhanh hơn 2.1 lần so với nhánh 1.5 khi thực hiện các thao tác chọn và cập nhật, còn trong thử nghiệm TPC-C là 4.5 lần. Việc tối ưu hóa đã ảnh hưởng đến nhiều loại truy vấn khác nhau, bao gồm các truy vấn con IN, DO và NOT EXISTS, hoạt động hợp nhất bảng (THAM GIA), việc sử dụng chỉ mục và nhiều hơn thế nữa;
    Bản phát hành hệ quản trị cơ sở dữ liệu phân tán TiDB 3.0Bản phát hành hệ quản trị cơ sở dữ liệu phân tán TiDB 3.0

  • Đã thêm công cụ lưu trữ TiFlash mới cho phép đạt hiệu suất cao hơn trong việc giải quyết các vấn đề phân tích (OLAP) nhờ lưu trữ theo cột. TiFlash bổ sung cho bộ lưu trữ TiKV được cung cấp trước đó, lưu trữ dữ liệu theo hàng ở định dạng khóa/giá trị và lý tưởng hơn cho các tác vụ xử lý giao dịch (OLTP). TiFlash hoạt động song song với TiKV và dữ liệu tiếp tục được sao chép sang TiKV như trước khi sử dụng giao thức Raft để xác định sự đồng thuận, nhưng đối với mỗi nhóm bản sao Raft, một bản sao bổ sung sẽ được tạo để sử dụng trong TiFlash. Cách tiếp cận này cho phép chia sẻ tài nguyên tốt hơn giữa các tác vụ OLTP và OLAP, đồng thời giúp dữ liệu giao dịch có sẵn ngay lập tức cho các truy vấn phân tích;

    Bản phát hành hệ quản trị cơ sở dữ liệu phân tán TiDB 3.0

  • Một trình thu gom rác phân tán đã được triển khai, có thể tăng đáng kể tốc độ thu gom rác trong các cụm lớn và cải thiện tính ổn định;
  • Việc triển khai thử nghiệm Kiểm soát truy cập dựa trên vai trò (RBAC) đã được thêm vào. Cũng có thể thiết lập quyền truy cập cho các hoạt động PHÂN TÍCH, SỬ DỤNG, THIẾT LẬP TOÀN CẦU và HIỂN THỊ QUY TRÌNH;
  • Đã thêm khả năng sử dụng biểu thức SQL để trích xuất các truy vấn chậm từ nhật ký;
  • Cơ chế khôi phục nhanh các bảng đã xóa đã được triển khai, cho phép bạn khôi phục dữ liệu vô tình bị xóa;
  • Định dạng của nhật ký ghi đã được thống nhất;
  • Đã thêm hỗ trợ cho chế độ khóa bi quan, giúp xử lý giao dịch giống với MySQL hơn;
  • Đã thêm hỗ trợ cho các chức năng cửa sổ (chức năng cửa sổ hoặc chức năng phân tích) tương thích với MySQL 8.0. Các hàm cửa sổ cho phép bạn thực hiện tính toán cho từng hàng truy vấn bằng các hàng khác. Không giống như các hàm tổng hợp thu gọn một tập hợp các hàng được nhóm thành một hàng duy nhất, các hàm cửa sổ tổng hợp dựa trên nội dung của một “cửa sổ”, bao gồm một hoặc nhiều hàng từ tập kết quả. Trong số các chức năng cửa sổ được triển khai:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK và ROW_NUMBER;

  • Đã thêm hỗ trợ thử nghiệm cho lượt xem (XEM);
  • Hệ thống phân vùng đã được cải tiến, khả năng phân phối dữ liệu thành các phần dựa trên một loạt giá trị hoặc giá trị băm đã được thêm vào;
  • Một khuôn khổ để phát triển các plugin đã được thêm vào, ví dụ: các plugin đã được chuẩn bị để sử dụng danh sách trắng IP hoặc duy trì nhật ký kiểm tra;
  • Hỗ trợ thử nghiệm đã được cung cấp cho chức năng GIẢI THÍCH PHÂN TÍCH để xây dựng kế hoạch thực hiện cho truy vấn SQL (Quản lý kế hoạch SQL);
  • Đã thêm lệnh next_row_id để lấy ID của hàng tiếp theo;
  • Đã thêm các hàm dựng sẵn mới JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE và NAME_CONST.

Nguồn: opennet.ru

Thêm một lời nhận xét