赞
踩
sequoia是一个开源的数据库集群中间件,它允许任何JAVA程序(独立的JAVA应用程序,EJB容器,servlet等)通过JDBC驱动透明的访问数据库集群。
如果出现下面情况,可以考虑使用sequoia:
首先,你有一个java应用或基于java的应用服务器要访问一个或几个数据库。并且数据库已经成为你的应用的瓶颈或者单点故障,或者两者都是。
注意: 如果你使用的不是java,那么可以看看carbo 这个项目,它提供了使用sequoia的C++和Perl的扩展。
sequoia可以帮你解决下面问题:
1. 高性能扩展:通过增加数据库节点,在所有这些节点间进行负载均衡。
2. 数据库层的高可用:sequoia允许数据库崩溃,它采用数据复制技术来进行容错。
3. 性能提升:sequoia通过细粒度的查询缓存和透明连接池来提升性能。
4. sql通信日志:sequoia提供了sql通信日志来进行性能监控和分析。
5. 提供了多种数据库引擎的支持。
要使用sequoia,你不需要对你的客户端程序,应用服务器或者数据库服务器做任何修改。你只需要确保所有的数据库访问都是通过sequoia执行就可以了。
sequoia实现了廉价冗余数据库阵列(Redundant Array of Inexpensive Databases ,RAIDb)的概念,这种数据库是分布式的,sequoia在节点之间进行数据复制,并在这些节点间进行查询时的负载均衡。
sequoia为客户端提供了一个通用的jdbc驱动。这个驱动把客户端的sql请求转发到sequoia控制器上,然后控制器把请求发给数据库集群(读是负载均衡,写是进行广播)。
sequoia的架构是开放的,允许你定制自己的请求调度器、负载均衡器、连接管理器、缓存策略等等。
关于sequoia组件的更多信息,请参考 sequoia架构 一章。
sequoia可以被用于任何提供了jdbc驱动的关系数据库。 也就是说,几乎所有的开源和商业数据库都可以支持。sequoia可以创建任何配置的数据库集群,在这个集群中你可以混合使用多种数据库。
关于sequoia部署的更多信息,请参考 sequoia部署模型 一章。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。