`
yangzb
  • 浏览: 3503247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sequoia简介

阅读更多

sequoia是一个开源的数据库集群中间件,它允许任何JAVA程序(独立的JAVA应用程序,EJB容器,servlet等)通过JDBC驱动透明的访问数据库集群。

sequoia带来了什么?

如果出现下面情况,可以考虑使用sequoia:

首先,你有一个java应用或基于java的应用服务器要访问一个或几个数据库。并且数据库已经成为你的应用的瓶颈或者单点故障,或者两者都是。

注意: 如果你使用的不是java,那么可以看看carbo 这个项目,它提供了使用sequoia的C++和Perl的扩展。

sequoia可以帮你解决下面问题:

1. 高性能扩展:通过增加数据库节点,在所有这些节点间进行负载均衡。

2. 数据库层的高可用:sequoia允许数据库崩溃,它采用数据复制技术来进行容错。

3. 性能提升:sequoia通过细粒度的查询缓存和透明连接池来提升性能。

4. sql通信日志:sequoia提供了sql通信日志来进行性能监控和分析。

5. 提供了多种数据库引擎的支持。

sequoia是怎么工作的?

要使用sequoia,你不需要对你的客户端程序,应用服务器或者数据库服务器做任何修改。你只需要确保所有的数据库访问都是通过sequoia执行就可以了。

sequoia实现了廉价冗余数据库阵列(Redundant Array of Inexpensive Databases ,RAIDb)的概念,这种数据库是分布式的,sequoia在节点之间进行数据复制,并在这些节点间进行查询时的负载均衡。

sequoia为客户端提供了一个通用的jdbc驱动。这个驱动把客户端的sql请求转发到sequoia控制器上,然后控制器把请求发给数据库集群(读是负载均衡,写是进行广播)。

sequoia的架构是开放的,允许你定制自己的请求调度器、负载均衡器、连接管理器、缓存策略等等。

关于sequoia组件的更多信息,请参考 sequoia架构 一章。

sequoia可以被用于任何提供了jdbc驱动的关系数据库。 也就是说,几乎所有的开源和商业数据库都可以支持。sequoia可以创建任何配置的数据库集群,在这个集群中你可以混合使用多种数据库。

关于sequoia部署的更多信息,请参考 sequoia部署模型 一章。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics