Aerospike , key-value store database với tốc độ cao (phần 1)
aerospike
1
Database
20
White

huydx viết ngày 26/06/2015

Giới thiệu về aerospike

alt text

Aerospike là gì

Aerospike là một key-value store được quảng cáo là có tốc độ rất cao, có tốc độ nhanh gấp nhiều lần các KVS thông thường hay được sử dụng trên thị trường ( như redis, cassandra ). Lúc đầu khi mới nghe qua về aerospike thì mình cũng đoán là chắc lại chỉ là "chém gió", bởi những người phát triển redis, hay cassandra hoàn toàn có khả năng về kĩ thuật đề không bị thụt lùi đến mức kinh khủng thế bởi một database không quá tên tuổi, non trẻ trên thị trường, lại không xuất phát từ một ông lớn như google hay facebook..
Tuy nhiên sau một thời gian tìm hiểu và sử dụng ở production, cũng như tham dự meetup và gặp những người trực tiếp build aerospike, minh nhận thấy những gì họ quảng bá cũng không đến mức chém gió, và aerospike là một database tốt, tuy nhiên không phải thích hợp cho mọi loại bài toán.

Đặc điểm của aerospike

Aerospike có đặc điểm lớn nhất là "hybrid" store giữa hdd và memory.
Về cơ bản thì data chính (key, value) sẽ được lưu ở trên hdd, còn index sẽ chỉ được lưu trên memory.

Một đặc điểm lớn nữa của aerospike nữa optimize cho ssd (flash driver). Điều này có nghĩa là aerospike gần như không sử dụng được trên hdd bình thường sử dụng đĩa từ. Tuy nhiên đây không phải là một vấn đề lớn bởi giá SSD ngày càng rẻ, các VPS như aws, digital ocean cũng hầu hết là sử dụng ssd. Tất nhiền nhiều bạn sẽ hỏi: ssd với hdd khác nhau ở đâu, tại sao lại optimize được cho ssd. Đây là một câu hỏi rất thú vị, mình sẽ nói kĩ thêm ở phần tiếp theo.

Không thể không nhắc đến chức năng XDR, hay là viết tắt của cross-center data replication. Chức năng này giúp cho những người vận hành không phải quan tâm đến việc replicate data. Cơ bản về mặt concept khá giống với cassandra, khi bạn thêm một node, hay remove một node của cluster, cluster sẽ tự động điều chỉnh data, tức là phân phối lại data sao cho hợp lý.

Cuối cùng phải kể đến aerospike client. Aerospike client là một client khá thông minh, nó làm hộ chúng ta khá nhiều việc như là: tự động theo dõi cluster liên tục xem nên access dữ liệu từ ip nào trong một cụm cluster, tự động detect các transaction lỗi, và query lại ở một máy khác chứa cùng dữ liệu.

Cài đặt thử và sử dụng

Aerospike có sẵn máy ảo để sử dụng được ngay trên vagrant rất tiện lợi. Mình sẽ nói về cách cài đặt trên mac OSX.
TIền đề là máy đã cài đặt sẵn vagrant, virtualbox. Để cài đặt vagrant các bạn chỉ cần download từ: http://www.vagrantup.com/downloads, rất đơn giản.

Sau đó chỉ cần thực hiện các bước sau:

mkdir ~/aerospike-vm && cd ~/aerospike-vm
vagrant init aerospike/centos-6.5

Chỉ cần 2 step là bạn đã có aerospike chạy ầm ầm trên local

Sau đó bạn bật và chui vào máy ảo

vagrant up
vagrant ssh

sudo service amc status

# Retrieving AMC status....
# AMC is running.
# Connection to 127.0.0.1 closed.

AMC chính là process chính của aerospike.

Trong bài viết tiếp theo mình sẽ hướng dẫn về các data structure, cũng như hướng dẫn về cách sử dụng client.
Happy hacking.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

huydx

115 bài viết.
858 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
135 8
Introduction (Link) là một cuộc thi ở Nhật, và cũng chỉ có riêng ở Nhật. Đây là một cuộc thi khá đặc trưng bởi sự thú vị của cách thi của nó, những...
huydx viết hơn 1 năm trước
135 8
White
109 14
Happy programmer là gì nhỉ, chắc ai đọc xong title của bài post này cũng không hiểu ý mình định nói đến là gì :D. Đầu tiên với cá nhân mình thì hap...
huydx viết gần 3 năm trước
109 14
White
86 10
(Ảnh) Mở đầu Chắc nhiều bạn đã nghe đến khái niệm oauth. Về cơ bản thì oauth là một phương thức chứng thực, mà nhờ đó một web service hay một ap...
huydx viết hơn 2 năm trước
86 10
Bài viết liên quan
White
3 0
Bài viết này sẽ giới thiệu về phân vùng bảng và chỉ mục trong Oracle Database. Phân vùng giải quyết vấn đề quan trọng trong việc hỗ trợ các bảng r...
Dương Đức Đạt viết hơn 1 năm trước
3 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
115 bài viết.
858 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!