• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hbase, Cách thức lưu trữ và tìm kiếm
 

Hbase, Cách thức lưu trữ và tìm kiếm

on

  • 625 views

Giới thiệu tổng quan về Hbase, cách thức lưu trữ và tìm kiếm dữ liệu và các giải pháp liên quan.

Giới thiệu tổng quan về Hbase, cách thức lưu trữ và tìm kiếm dữ liệu và các giải pháp liên quan.

Statistics

Views

Total Views
625
Views on SlideShare
560
Embed Views
65

Actions

Likes
2
Downloads
17
Comments
3

2 Embeds 65

http://dethoima.com 64
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hbase, Cách thức lưu trữ và tìm kiếm Hbase, Cách thức lưu trữ và tìm kiếm Presentation Transcript

    • Hbase, cách thức lưu trữ và tìm kiếm Tác giả : Bạch Văn Tuân Website : http://dethoima.com
    • Giới thiệu ● ● ● ● là hệ quản trị cơ sở dữ liệu dựa trên Hadoop, đây là mã nguồn mở nằm trong dự án của Apache, phát triển và mở rộng từ dự án lưu trữ big-data của Google. Ai sử dụng Hbase: Facebook, Adobe, Twitter, Yahoo, etc, xem thêm ở đây Phiên bản mới nhất : 0.96.1 Có thể xem thêm bảng ánh xạ mức độ hỗ trợ giữa các phiên bản Hbase và Hadoop ở đây. Hiện tại các phiên bản Hadoop 2.x đều đã hỗ trợ phiên bản mới nhất
    • Tính năng ● ● ● ● ● ● Thời gian lọc dữ liệu nhanh Lưu trữ dữ liệu big-data, có thể lưu trữ hàng tỷ rows và columns Có độ ổn định và giảm thiểu rủi ro(failover) khi l ưu 1 l ượng lớn dữ liệu. Truy vấn dữ liệu theo thời gian thực. Cung cấp giao thức REST, giúp trả về dữ liệu theo các định dạng khác nhau như plain text,json,xml. Xem thêm ở đây. Nhờ đó chúng ta có thể khai thác dữ liệu không c ần qua API từ phần mềm thứ 3.
    • Tính năng (cont) ● ● ● Nhât quán cơ chế đọc và ghi dữ liệu dựa trên Hadoop Nhiều extension hỗ trợ Hbase cho nhiều ngôn ngữ như java,php,python,etc Lưu trữ dữ liệu đáng tin cậy, được các hãng lớn sử dụng trên quy mô lớn
    • Cách thức lưu trữ ● ● ● ● ● Hbase lưu trữ các row nằm trong các table Mỗi table có thể định nghĩa nhiều column families(cf) khác nhau Mỗi row phải được quản lý bởi 1 khóa chính duy nhất Có thể xem lịch sử lưu dữ liệu trên mỗi row, được quản lý bởi timestamp Chúng ta có thể giới hạn history lưu tối đa là bao nhiêu lần( giúp tiết kiệm dung lượng dữ liệu sau 1 thời gian sử dụng, mỗi lần update dữ liệu thì history cũ hơn sẽ bi xóa )
    • Cách thức lưu trữ (ví dụ) ● ● Tôi sẽ tạo 1 table với tên là 'accounts' với column families là 'info' và 'extra' column families có thể là bất kỳ từ khóa nào mà bạn thích. ● Info: tôi lưu tên, họ, số điện thoại,email ● Extra: tôi lưu thông tin cha, mẹ, anh, chị, vợ, con ● Mỗi account sẽ có duy nhất 1 user_name nên tôi sẽ dùng user_name làm khóa cho row (các bạn có thể dùng email thể làm khóa)
    • Cách thức lưu trữ(ví dụ) Id Cf Attribute Value Timestamp nam info first_name Nam 1 last_name Nguyễn Văn 1 address 17 ABC 1 phone 01234556789 1 father Tên bố nam 1 mother Tên mẹ nam 1 phone 09999999999 3 address 18 ABC 3 first_name John 2 last_name Mark 2 address 18 BCD 2 extra info john info
    • Cách thức lưu trữ(giải thích ví dụ) ● ● ● ● ● Trong ví dụ trên tôi đã lưu 2 rows với id là nam va john chính là các user_name nam có 1 lần khởi tạo dữ liệu ở timestamp=1 và 1 lần cập nhật ở timestamp=3. join có 1 lần khởi tạo dữ liệu ở timestamp =2. Lưu ý : timestamp trong thực tế là dãy số như 123456789 lưu timestamp của hệ thống Như vậy “nam” khởi tạo trước rồi đến khởi tạo “john”, sau đó “nam” được cập nhật(address,phone) lên version 2.
    • Tìm kiếm dữ liệu ● ● ● Phương pháp phổ biển nhất để tìm kiếm dữ liệu trong Hbase là dùng thrift, bình thường thrift không được khởi động khi chay Hbase nên sẽ cần khởi động bằng lệnh “./bin/hbase thrift start” Xem thêm về các method thrift hỗ trở ở đây Lưu ý về comparator: thrift cung cấp 4 comparator để lọc dữ liệu đó là 'binary','binaryprefix','regexstring','substring'
    • Tìm kiếm dữ liệu(cont ) comparator Compare filter string return binary > binary:abc những giá trị binary lớn hơn 'abc' binaryprefix = Binaryprefix: abc những giá trị binary mà bắt đầu với abc regrexstring = regrexstring: a*bc Những giá trị mà bắt đầu có substring nằm trong a và bc substring != substring:abc Những giá trị không bắt đầu bởi 'abc'
    • Tìm kiếm dữ liệu (cont) ● Tôi sẽ hướng dẫn 2 method thường dùng là SingleColumnValueFilter và DependentColumnFilter – SingleColumnValueFilter thường được sử dụng để lọc 1 column family attribute – DependentColumnFilter thường được sử dụng để lọc dựa trên 2, hay nhiều column family attribute
    • Tìm kiếm dữ liệu(cont) ● Ví dụ về SingleColumnValueFilter – ● "SingleColumnValueFilter (‘info’, ‘phone’, =, 'regrexstring:^092')" : s ẽ hiển thị toàn bộ row nào mà có info:phone mà bắt đầu với đầu số 092 Ví dụ về DependentColumnFilter – "DependentColumnFilter ('info','first_name', false, =, 'nam') AND DependentColumnFilter ('extra','father', false, =, 'Dung')" : sẽ hiển thị toàn bộ row mà mà info:first_name ='nam' và extra:father = 'Dung'
    • Sql cho Hbase Một cách khác để dễ dàng sử dụng truy vấn dữ liệu trong Hbase hơn là dùng câu lệnh sql để truy vấn, để làm được điều này bạn phải cài đặt thêm hive. Sau khi cài đặt xong thì mọi thao tác xử lý dữ liệu đều có thể dùng thông qua câu lệnh sql, trong đó hỗ trợ cả join
    • L ờ i k ết Hbase là giải pháp lưu trữ dữ liệu lớn, linh hoat và miễn phí, đều quan trọng là dự án của bạn có thực sự đủ lớn để dùng Hbase và một khi dùng Hbase thì bạn phải xác định trước cấu trúc dữ liệu để xác định các colum family và primary key cho row trong các table thích hơp.