标签归档:Hadoop

Google 发布Cloud BigTable兼容HBase接口,性能秒杀其它NoSQL

问题导读

1.Google Cloud BigTable使用场景有哪些?
2.Cloud Bigtable是否支持SQL查询、连接和多行事务?
3.Cloud BigTable性能比HBase和Cassandra高出上百倍,你是怎么认为的?

Google今天(2015年5月6日)美国时间凌晨发布了云数据库Google Cloud BigTable,基于Google几乎所有最大应用使用已超过十年的王牌技术BigTable(这一点说明了Google后续开发的Megastore和Spanner并没有大幅取代BigTable,而是互补使用的),支持BigQuery和Hadoop(2.4以上版本),但又可以通过业界标准的HBase API(支持1.0)里访问(但仍然有一些差异,细节请参考文档)。
Cloud BigTable最令人瞩目的是其性能,官方博客用了unmatched(无双、无与伦比)这样高调的字眼。它的读写延迟都是毫秒级的,与HBase和Cassandra读延迟好几百相比的确是秒杀,写延迟比Cassandra也好一倍以上。

对这个测试有疑问的同学,HN上的相关讨论可以参考。
相比之下,BigTable的价格似乎并不太具有优势。每小时每结点的价格是0.65美元,每集群最低要3个结点,这样每个月最低也要0.65 x 3 x 24 x 30 = 1404美元,这还没算网络和存储成本。而AWS的DynamoDB每月最低是5美元。当然,客观说,DynamoDB直接的对应的是Google的另一项云服务DataStore(起始使用免费)。
Google Cloud BigTable野心不小,它明确说针对的应用场景包括金融(交易历史、股价、汇率)、广告营销(购买历史和用户行为)、能源/物联网(电表和家电数据)、生物医药和电信等行业的大数据分析,包括时间序列数据。标杆案例也是金融软件巨头SunGuard的一个审计原型系统,每秒能处理250万条交易信息。
其他案例还包括:
Pythian将时间序列数据库OpenTSDB与Cloud Bigtable集成,开发了一个监控平台;
开源空间数控GeoMesa的贡献者CCRi通过与Cloud Bigtable集成,提供了实时空间分析平台;
IoT方案商Telit Wireless Solutions借助Cloud Bigtable大大提升了数据处理能力;
Qubit(也是由前Google员工创办的公司)已经将数P数据迁移到Cloud BigTable上。

根据文档,它的适合场景是:
单索引的、稀疏表,可以扩展到数亿行、数千列,存储T级甚至P级数据量。低于1TB就不要考虑了。
非常适合存储低延迟的海量单键数据。
是MapReduce运算的理想数据源。
Cloud Bigtable不是关系数据库,也不支持SQL查询、连接和多行事务。与Google云服务上其他存储方案的选型文档说得很清楚,翻译如下:
如果需要OLTP系统的完整SQL支持,考虑Google Cloud SQL。
如果需要OLAP系统的交互查询,考虑Google BigQuery。
如果需要存储大于10MB的不变blob,例如大的图片和视频,考虑Google Cloud Storage。
如果需要存储高度结构化对象,或者要支持ACID事务和类SQL查询,考虑Cloud Datastore。

参考链接
Google Cloud BigTable的文档:https://cloud.google.com/bigtable/docs/
Google官方已经在StackOverflow上开了标签:http://stackoverflow.com/tags/google-cloud-bigtable/
Hacker News上的讨论:https://news.ycombinator.com/item?id=9497060
官方开源客户端:https://github.com/GoogleCloudPlatform/cloud-bigtable-client