base是一種什么數據庫?
HBase 是 BigTable 的開源 java 版本。是建立在 HDFS 之上,提供高可靠性、高性能、列存儲、 可伸縮、實時讀寫 NoSQL 的數據庫系統。
NoSQL = NO SQL
NoSQL = Not Only SQL
把 NoSQL 數據的原生查詢語句 封裝成 SQL
HBase Phoenix
以下五點是 HBase 這個 NoSQL 數據庫的要點:
① 它介于 nosql 和 RDBMS 之間,僅能通過主鍵(row key)和主鍵的 range 來檢索數據,僅支 持單行事務(可通過 hive 支持來實現多表 join 等復雜操作)。
② Hbase 查詢數據功能很簡單, 不支持 join 等復雜操作
③ 不支持復雜的事務(行級的事務)
④ Hbase 中支持的數據類型: byte[]
⑤ 主要用來存儲結構化和半結構化的松散數據。
結構化:數據結構字段含義確定,清晰,典型的如數據庫中的表結構.
半結構化:具有一定結構,但語義不夠確定,典型的如 HTML 網頁,有些字段是確定的(title), 有些不確定(table)
非結構化:雜亂無章的數據,很難按照一個概念去進行抽取,無規律性
hbase是非關系型數據庫,而且它是基于列的而不是基于行的模式。
hbase 全稱Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮、實時讀寫的分布式數據庫。
hbase利用hadoop hdfs作為其文件存儲系統,利用hadoop。
MapReduce來處理hbase中的海量數據、利用zookeeper作為其分布式協同服務。