java – 关于ORM RDBMS的替代方案的想法?
我目前正在为替代数据存储开发概念证明.我之所以需要增强一个主要是读取群集的webapp,还因为我想摆脱有时
overly-complex ORM+RDBMS solution的痛苦.
总体而言,这个想法非常类似于具有持久性的分布式缓存(让集群成为SoR),但是: >希望能够通过以下方式检索任何对象及其子对象 >如果整个集群出现故障,最终将恢复 >最后在尝试集成静态类型的查询机制,如LINQ,Jaque或H2的JaQu /看ODBs / Lucene(?) 我打算用Hazelcast(我喜欢它超级简单的API)或Terracotta(我从未使用过 – 但我知道他们的’甜蜜点’,中期数据)来实现这个想法.如果你愿意,我的目标是做或多或少what Jonas once blogged about.使用其中一个,存储的数据大致必须适合集群的JVM堆的总和. 这应该非常简单,可以避免关系阻抗不匹配(即与ODB一样保存)和JDBC I / O开销. 您是否知道其他已经提供类似功能的工具/框架或其组合,我忽略了? 如Couch DB,Neo4j,HyperTable,HBase等非关系型数据存储怎么样? 一个月前问过similar question – 但没有具体的解决方案. 顺便说一下,我偶然发现了Enterprise Data Fabric的概念,令我惊讶的是,它描述了很多这些想法. 解决方法
一定要试试
Terracotta.它是免费的(除非你去拥有SLA和支持的Enterprise).它是一个JVM级集群,可以这么说,因此您不会遇到与不同JK工作者背后的多个框上的会话相关的问题(假设您将其用于J2EE应用程序).
我只是在漫步,所以看看这里:http://en.wikipedia.org/wiki/Terracotta_Cluster 更新网上Terracotta的大量信息,例如http://blog.terracottatech.com/2007/12/fud_of_the_week_terracotta_doe.html UPDATE2我的观点背景:我为一家拥有相当多观众的公司工作.我们有一个运行主服务器和大约5个从服务器的企业MySQL(考虑到我们有2个通道的时间为2,每个通道有4个应用服务器),使用MySQL的JDBC Replication驱动程序(我们已经提交了各种补丁).我们使用Spring的声明式JTA事务管理来使用Spring2.5 / Hibernate3,因此read-onlies会转到slave.随着我们网站未来版本的众多Ajax增强功能的出现,我们的数据库服务器的负载已经增加 – 我们为所有国家的数千种产品创建定价摘要,同时考虑到所有这些国家的关税/税收规则(以及促销活动)和实时拍卖一直运行),然后Ajax服务眨眼间有最新的价格. Terracotta通过将这些价格提供给JVM层上的所有应用服务器来解决数据库和应用服务器的负担,并且所有JVM都连接在一起.因此,服务器A可以每隔几分钟更新一次价格,如果Ajax点击服务器B,价格立即可用.我知道有些人/公司有类似的业务,可能有更好的想法和实施,所以我总是开放讨论,但这是我的两分钱. 我也从Facebook上的人那里获得灵感,例如这篇内容非常丰富的文章: 他们谈论memcached,你也应该检查一下. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |