|
很喜欢这个话题,谢谢刘编辑。我思考了很久,答案如下:
1.你了解国内外的哪些云数据库?
答:基本上,凡是提供云计算服务的公司,大多数也提供了云数据库服务。比如有:
1)Google的Cloud SQL(基于MySQL数据库实现)和BigTable非关系型数据库。
2)微软的SQL Azure,基于微软自家的SQL Server实现。
3)甲骨文的Oracle Cloud Database,基于自家的Oracle数据库实现。
4)亚马逊的DynamoDB和SimpleDB。这里说一下两者的区别:
Amazon DynamoDB和Amazon SimpleDB都属于非关系型数据库,都不需要进行繁杂的数据库管理工作。
4.1)Amazon DynamoDB侧重于提供无缝地扩展,以及快速、可预期的性能。Amazon DynamoDB可以自动把数据和负载分布到足够多的服务器上面,从而满足可扩展性的要求。Amazon DynamoDB没有对用户可以存储在单个表中的数据量的大小进行限制,你可以把单个表的请求处理能力设置提高到你想要的级别。
4.2)Amazon SimpleDB更加适合于小规模的工作负载,这些负载需要查询的灵活性。Amazon SimpleDB会自动对所有项目(item)属性进行索引,并且相对Amazon DynamoDB而言,Amazon SimpleDB可以支持更加强大的查询功能。但是,在Amazon SimpleDB中,单个表的大小被限制在不超过10GB,单个表可以获得的请求处理能力也受到限制。如果你需要额外的可扩展性,你可以对表进行手工分区,存放到其他SimpleDB表中。
5)雅虎的PNUTS云数据库。
6)StormDB云数据库,StormDB是一家提供专业云数据库服务的公司,它的StormDB云数据库是基于PostgreSQL实现的。
7)国内的云数据库是由提供云计算服务的公司研发的,在技术路线上不外乎是基于Apache Cassandra、Apache HBase、MySQL这三种数据库技术之一研发的。主要的公司有百度、阿里、盛大、华为、新浪等。
2.你认为云数据库和传统数据库最大的区别是什么?两者相比较而言分别有哪些优缺点?
答:云数据库和传统数据库最大的区别是云数据库封装了底层的软硬件实现,把数据库集群、扩展性、可靠性、运维等等的很多工作对用户来说,完全的隔离开来。
云数据库最大的优点是简化了和省略了很多DBA的工作以及研发和管理的工作,比如很多原本由DBA完成的工作,改为由云数据库提供商完成。云数据库的缺点是云数据库服务器的体系架构设计、事务一致性、容灾和SLA监控、访问控制和授权管理、云数据库的调优等实现的难度比传统数据库要大很多。
传统数据库的优点是相对技术更加成熟,不管是文档资料还是相关的技术人才,都非常丰富。缺点就是对于大型的应用来说,需要的DBA相对于云数据库来说,要多很多。
3.你所在的公司会不会选择云数据库代替传统数据库?请说明理由。
答:会考虑云数据库技术。这里涉及一个方案选择的问题。对于企业级应用来说,还是应该选择传统的关系数据库方案;对于互联网应用来说,如果数据规模较大(这里可以给个粗略的量级进行衡量,至少TB级),那么可以选择云数据库方案。
|
|