php+mysql开发的网站 如何使用hadoop+hbase+hive,能代替mysql么

php+mysql开发的网站 如何使用hadoop+hbase+hive,能代替mysql么,第1张

可以代替mysql的 。

将Hive与HBase整合在一起,使Hive可以读取HBase中的数据,让Hadoop生态系统中最为常用的两大框架互相结合,相得益彰。

在Hive中创建HBase识别的表就可以替代mysql了。

如下:

CREATE TABLE hbase_hive_1(key int, value string)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")

TBLPROPERTIES ("hbase.table.name" = "xyz")

分别查看Hive、HBase中建立的表

那是因为: Mysql ,(Mysql 随机插入的代价)主键索引是有序的 B+ 树结构,新增条目的 id 肯定是最大的,新增给 B+ 结构带来的调整最小,主键索引是聚簇的:新增条目,id 是最大的。其 data 追加在上一次插入的后面,磁盘更容易顺序写,辅助索引,插入基本是随机的插入条目,可能会引起 B+ 树结构很大的调整。

HBase 可以随机插入HBase 的所有插入只是写入内存 memstore,只保证内存数据的有序即可 (很快、很容易)。为防止数据丢失写入 memstore 前,先写入 wal (可以关闭,速度更快)

NoSQL太火,冒出太多产品了,保守估计也成百上千了。

互联网公司常用的基本集中在以下几种,每种只举一个比较常见或者应用比较成功的例子吧。

1. In-Memory KV Store : Redis

in memory key-value store,同时提供了更加丰富的数据结构和运算的能力,成功用法是替代memcached,通过checkpoint和commit log提供了快速的宕机恢复,同时支持replication提供读可扩展和高可用。

2. Disk-Based KV Store: Leveldb

真正基于磁盘的key-value storage, 模型单一简单,数据量不受限于内存大小,数据落盘高可靠,Google的几位大神出品的精品,LSM模型天然写优化,顺序写盘的方式对于新硬件ssd再适合不过了,不足是仅提供了一个库,需要自己封装server端。

3. Document Store: Mongodb

分布式nosql,具备了区别mysql的最大亮点:可扩展性。mongodb 最新引人的莫过于提供了sql接口,是目前nosql里最像mysql的,只是没有ACID的特性,发展很快,支持了索引等特性,上手容易,对于数据量远超内存限制的场景来说,还需要慎重。

4. Column Table Store: HBase

这个富二代似乎不用赘述了,最大的优势是开源,对于普通的scan和基于行的get等基本查询,性能完全不是问题,只是只提供裸的api,易用性上是短板,可扩展性方面是最强的,其次坐上了Hadoop的快车,社区发展很快,各种基于其上的开源产品不少,来解决诸如join、聚集运算等复杂查询。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8504567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存