Blog này khám phá Couchbase®, một cơ sở dữ liệu tài liệu và key-value NoSQL phân tán mã nguồn mở, được phát hành dưới giấy phép Apache® 2.0.
Giới thiệu
Couchbase cung cấp quản lý dữ liệu độ trễ thấp cho ứng dụng trực tuyến tương tác quy mô lớn, xử lý yêu cầu người dùng như thêm, xóa, truy xuất, trình bày và thao tác dữ liệu. Để hỗ trợ các ứng dụng này, dữ liệu nên ở định dạng dễ dàng mở rộng và truy cập. Yêu cầu này dẫn đến sự xuất hiện của Couchbase Server®, được tạo ra sau sự sáp nhập của hai công nghệ NOSQL phổ biến, Membase® và CouchDB®.
Membase được phát triển bởi NorthScale, dưới dự án memcached, và được thiết kế như một key-value store với sự đơn giản, tốc độ và khả năng mở rộng của memcached, cùng với lưu trữ, persistence và khả năng truy vấn của cơ sở dữ liệu.
CouchDB dùng JSON để biểu diễn dữ liệu và replication tích hợp sẵn, được viết bằng Erlang™. CouchDB được phát triển bởi Damien Katz năm 2005 và trở thành dự án Apache năm 2008.
Năm 2011, Membase, Inc. và Couchone, công ty đứng sau dự án CouchDB, tuyên bố sáp nhập và đặt tên công ty hợp nhất là Couchbase, Inc.
Các loại database khác nhau
Phần này mô tả sự khác biệt giữa ba loại database: transactional, analytic, và engagement database, như hình sau:
Nguồn ảnh: https://resources.couchbase.com/c/engagement-database-whitepaper?x=49kQ7H
Database giao dịch (Transactional databases)
Transactional database lưu trữ dữ liệu có cấu trúc cao trong bảng và có hàng, cột duy nhất. Các database này chủ yếu dùng bởi bộ phận kế toán, nhân sự, bán hàng và mua hàng của tổ chức. Trong transactional database, tương tác người dùng, hỗ trợ và engagement thường ngoài phạm vi, nên hàng triệu người dùng không thể tải lên, xem, chia sẻ hàng tỷ ảnh, video, từ cùng lúc.
Do chi phí cao và không thể xử lý lượng lớn dữ liệu phi cấu trúc và bán cấu trúc, các database quan hệ này không thể cung cấp sự engagement khách hàng thỏa mãn.
Sự tăng trưởng mới nhất của công nghệ di động, nền tảng xã hội và ứng dụng Internet of Things (IoT) cũng tạo ra khó khăn cho các database này.
Do giới hạn kiến trúc và cấu trúc, transactional database có thể không phù hợp trong thời đại chuyển đổi số ngày nay, và trông như chúng đang làm chậm chuyển đổi số.
Database phân tích (Analytical databases)
Công nghệ phân tích như Hadoop® Platform9 hoặc Apache Spark10 được dùng để thực hiện phân tích ngược (backward-looking analytics) trên tập dữ liệu khổng lồ về tương tác khách hàng của tổ chức.
Công nghệ phân tích luôn làm việc với dữ liệu cũ và không phải dữ liệu real-time. Vì chúng không bao giờ dành cho dữ liệu vận hành real-time hay dự đoán, chúng thất bại trong việc xây dựng engagement khách hàng.
Ví dụ, giả sử bạn muốn cá nhân hóa gợi ý, theo thời gian thực, cho khách hàng trên trang thương mại điện tử dựa trên tương tác của khách hàng, như duyệt web hoặc trải nghiệm mạng xã hội. Database phân tích sẽ không cung cấp loại cơ sở hoặc hiệu suất đó.
Nói cách khác, database phân tích sẽ không cung cấp engagement cho khách hàng.
Database tương tác (Engagement databases)
Engagement database cung cấp nhiều tương tác và trải nghiệm khách hàng bằng cách giải phóng và sử dụng toàn bộ tiềm năng dữ liệu ở bất kỳ quy mô nào, qua bất kỳ kênh hoặc thiết bị nào, để xây dựng mối quan hệ ý nghĩa và quan trọng hơn với khách hàng. Engagement database có các đặc điểm chính sau:
- Built for change–at any scale (Khả năng mở rộng)
- Tốc độ (Speed)
- An toàn (Secure)
- Cloud-native
- Di động liền mạch (Seamlessly mobile)
- Thông minh tích hợp sẵn (Built-in smarts)
Couchbase Server
Couchbase, engagement database đầu tiên trên thế giới, cung cấp sự nhanh nhẹn, khả năng mở rộng, tốc độ, bảo mật, sẵn sàng cao và khả năng quản trị không đối sánh. Doanh nghiệp ngày nay cần những phẩm chất này để liên tục tái khám phá kỳ vọng và trải nghiệm khách hàng và tận hưởng lợi thế cạnh tranh thích ứng mãi mãi. Couchbase Server là cơ sở dữ liệu tài liệu và key-value NoSQL phân tán, mã nguồn mở, có khả năng mở rộng, cung cấp quản lý dữ liệu độ trễ thấp cho ứng dụng trực tuyến tương tác quy mô lớn.
Kiến trúc cốt lõi của Couchbase được thiết kế để mở rộng dễ dàng mà không giảm hiệu suất và đơn giản hóa phát triển ứng dụng hiện đại với mô hình dữ liệu linh hoạt. Được xây dựng với nhấn mạnh mạnh mẽ vào độ tin cậy, các khả năng nền tảng cốt lõi bao gồm high availability, high scalability, high performance, và security. Cơ sở dữ liệu Couchbase là database đa mô hình, đa năng, có thể dùng như managed-cache tier, key-value, và document database.
Couchbase Lite chạy nguyên sinh trên thiết bị di động và môi trường IoT với đồng bộ hóa được quản lý.
Hình sau hiển thị cụm Couchbase Server:
Nguồn ảnh: https://developer.couchbase.com/documentation/server/4.0/architecture/architecture-intro.html
Hành vi runtime của Couchbase Server
Hành vi runtime của Couchbase Server phụ thuộc vào các thành phần quan trọng sau:
- Kiến trúc kết nối (Connectivity architecture)
- Kiến trúc replication (Replication architecture)
- Kiến trúc lưu trữ (Storage architecture)
- Kiến trúc lớp cache (Caching layer architecture)
- Kiến trúc bảo mật (Security architecture)
Dịch vụ Couchbase Server
Couchbase Server bao gồm các thành phần cốt lõi sau:
- Cluster Manager
- Data service
- Index service
- Query service
Trong một cluster, bạn có thể bật data, index, và query services dựa trên workload, như một triển khai độc lập để xử lý ba workload riêng biệt (hoạt động cốt lõi database, indexing, và query processing). Các workload này xử lý độc lập và đồng thời mà không có nhiễu ở phía server.
Do đó, bất kỳ (hoặc mỗi) node nào có thể chạy một, một số, hoặc tất cả services tại bất kỳ thời điểm nào. Quản trị viên database có thể thiết lập topology độc đáo bằng cách dùng các services độc lập này và mở rộng độc lập các workload khác nhau trong database cùng lúc.
Các phiên bản Couchbase Server
Có ba phiên bản cho Couchbase Server: enterprise, community, và open source. Mỗi phiên bản cung cấp các tính năng và mức hỗ trợ tương ứng:
Enterprise edition (EE): Khuyến nghị cho môi trường production, Couchbase cung cấp bản phát hành sẵn sàng production mới nhất.
Community edition (CE): Xây dựng cho nhà phát triển phi thương mại để giúp kiểm tra và xác định vấn đề để nhà phát triển tránh các vấn đề nghiêm trọng với bản phát hành production tương lai.
Open source project: Cung cấp trên nền tảng mở cho kiểm tra, phát triển, và đổi mới tương lai của Couchbase. Đây là nền tảng bắt buộc cho phát triển Community và Enterprise editions.
Kết luận
Trong thế giới IT ngày nay, kỳ vọng khách hàng đang thúc đẩy chuyển đổi số. Khách hàng tìm kiếm trải nghiệm phi thường khi tương tác với thương hiệu họ thích. Hiện tượng này buộc tổ chức phải tận dụng cơ hội khổng lồ đã có sẵn trong thời đại engagement ngày nay, thay vì xây dựng ứng dụng internet hoặc ứng dụng di động mới mỗi ngày. Tổ chức phải hiện đại hóa công nghệ và môi trường hiện tại với database phản hồi cao, sẵn sàng cao, mở rộng, thông minh và dễ quản trị. Engagement database như Couchbase Server phù hợp hoàn hảo với nhu cầu này.
Sử dụng tab Feedback để bình luận hoặc đặt câu hỏi.
Tìm hiểu thêm về dịch vụ cơ sở dữ liệu của chúng tôi.