Apache Druid là gì

Apache Druid

Article

February 19, 2022

Druid là một kho dữ liệu phân tán, mã nguồn mở, hướng cột được viết bằng Java. Druid được thiết kế để nhanh chóng nhập số lượng lớn dữ liệu sự kiện và cung cấp các truy vấn có độ trễ thấp trên đầu dữ liệu. Cái tên Druid xuất phát từ lớp Druid có thể thay đổi hình dạng trong nhiều trò chơi nhập vai, để phản ánh rằng kiến ​​trúc của hệ thống có thể thay đổi để giải quyết các loại vấn đề dữ liệu khác nhau. Druid thường được sử dụng trong các ứng dụng OLAP thông minh kinh doanh để phân tích khối lượng lớn dữ liệu lịch sử và thời gian thực. Druid được sử dụng trong sản xuất bởi các công ty công nghệ như Alibaba, Airbnb, Cisco, eBay, Lyft, Netflix, PayPal, Pinterest, Twitter, Walmart, Wikimedia Foundation và Yahoo.

Lịch sử

Druid được bắt đầu vào năm 2011 bởi Eric Tschetter, Fangjin Yang, Gian Merlino và Vadim Ogievetsky để cung cấp năng lượng cho sản phẩm phân tích của Metamarkets. Dự án có nguồn mở theo giấy phép GPL vào tháng 10 năm 2012 và được chuyển sang Giấy phép Apache vào tháng 2 năm 2015.

Kiến trúc

Được triển khai đầy đủ, Druid chạy như một cụm các quy trình chuyên biệt [được gọi là các nút trong Druid] để hỗ trợ kiến ​​trúc chịu lỗi, nơi dữ liệu được lưu trữ dự phòng và không có điểm lỗi nào. Cụm bao gồm các phụ thuộc bên ngoài để điều phối [Apache ZooKeeper], lưu trữ siêu dữ liệu [ví dụ: MySQL, PostgreSQL hoặc Derby] và cơ sở lưu trữ sâu [ví dụ: HDFS hoặc Amazon S3] để sao lưu dữ liệu vĩnh viễn.

Quản lý truy vấn

Các truy vấn của khách hàng lần đầu tiên truy cập vào các nút môi giới, các nút này sẽ chuyển tiếp chúng đến các nút dữ liệu thích hợp [lịch sử hoặc thời gian thực]. Vì các phân đoạn Druid có thể được phân vùng, một truy vấn đến có thể yêu cầu dữ liệu từ nhiều phân đoạn và phân vùng [hoặc phân đoạn] được lưu trữ trên các nút khác nhau trong cụm. Các nhà môi giới có thể tìm hiểu các nút nào có dữ liệu cần thiết và cũng có thể hợp nhất các kết quả từng phần trước khi trả về kết quả tổng hợp.

Quản lý cụm

Các hoạt động liên quan đến quản lý dữ liệu trong các nút lịch sử được giám sát bởi các nút điều phối. Apache ZooKeeper được sử dụng để đăng ký tất cả các nút, quản lý các khía cạnh nhất định của giao tiếp giữa các lóng và cung cấp cho các cuộc bầu cử lãnh đạo.

Tính năng

Nhập dữ liệu có độ trễ thấp [phát trực tuyến] Thăm dò dữ liệu lát cắt và xúc xắc tùy ý Truy vấn phân tích dưới giây Tính toán gần đúng và chính xác

Xem thêm

Danh sách các DBMS hướng cột

Tài liệu tham khảo

Liên kết bên ngoài

Trang web chính thức

Video liên quan

Chủ Đề