codefollower
codefollower
lealone 还不支持在 nacos 里面管理配置的功能,如果 spring 应用从 nacos 中获取配置信息,用 lealone 替换 nacos 后就没有对应的功能。
如果用 lealone 来管理配置信息,目前只能建一张表,然后在里面创建字段,特别是 map 类型的字段,最后为这张表生成一个 model 类,通过 lealone orm 就能读写配置了。
1. HBase 0.94里每个KeyValue会包含列族名和列名,而Cassandra 3.0不包含,所以存储后的数据理论上要小于HBase的,启用压缩后,存储到硬盘的数据更小。 2. 与Spark配合得最好,见 https://github.com/datastax/spark-cassandra-connector 如果钱多,买官方的企业版最省事。
之前看到Spotify网站把用户登陆数据库从PostgreSQL迁移到Cassandra https://labs.spotify.com/2015/06/23/user-database-switch/ 里面放的就是用户信息, 但是它用了Cassandra的轻量级事务(LWT), LWT只能处理单行记录,内部使用改编过的没有选举的三阶段的Paxos实现,性能并不太好。 文章评论, 行为日志这些带有时间序的数据很适合用Cassandra存的。 交易的历史记录适合用Cassandra存, 但是处理当前的交易事务还不适合用Cassandra来做, 我们接下来的工作就是做Cassandra for OLTP的版本, 到时就可以用于所有MySQL这类传统关系数据库在分布式场景下的所有业务需求。 另外,Cassandra是为分布式环境而设计的, 如果业务只用单台机器就能满足,不需要用Cassandra,传统的单机RDBMS是个更好的选择。 Cassandra本身并不适合用来做数据分析的,它只适合多写、简单查询的场景,分析类的场景要把数据导到spark或hadoop集群做,对于复杂查询DataStax公司的企业版可以做,开源的版本没这个功能。 **Cassandra的优点:** 数据模型灵活、写性能超强、运维简单、比其他RDBMS和NoSQL的方案省1/3以上的机器; **Cassandra目前的缺点是什么呢?** CQL3的功能还没有MongoDB丰富,更比不上SQL,也不支持事务,不能做到严格的强一致性。 没有关系,这些正是我们在做的Cassandra for OLTP企业版要重点解决的问题。
使用Cassandra前需要先考虑第一个问题:你的系统是需要强一制还是允许最终一致? 如果是需要强一制的,目前是建议用HBase这类方案先。 否则可以继续往下看: 每天5亿访问量是写的多,还是读的多,需要复杂查询吗?比如需要join和频繁的范围查询吗? Cassandra适合频繁写,简单按key读的场景,频繁的范围查询或做各种聚合现在它还不适合。 600G的数据量很一般,只存这点数据Cassandra没什么压力的。
需求不复杂,可以先在测试环境跑一下看看, 数据量主要集中在消息表,建表时,以userid、msgid为primary key, 这时Cassandra会把userid当成partition key,而msgid是clustering column, 消息会按msgid聚簇在一起,如果按时间降序排,第一条就是最新的消息。 如果msgid是有时间序的,Cassandra更适合,因为它最擅长时间序类型的应用。 Cassandra支持TTL的,把TTL设为15天,会帮你自动删除的。
这里有国外最近一两年出的 http://book.douban.com/subject_search?search_text=Apache+Cassandra&cat=1001 在国内应该没有引进, 中文版的有几本,但都是2010年左右出的,基本上都过时了。 如果英文好,推荐直接看官方的两个文档吧: 给Cassandra DBA看的: http://docs.datastax.com/en/cassandra/2.2/cassandra/cassandraAbout.html 给Cassandra 应用开发者看的(CQL): http://docs.datastax.com/en/cql/3.3/cql/cqlIntro.html
对时间序列数据库研究得不多,目前给不了任何建议。
不是那么容易,Gossip协议实现在gms那个目录下,但是依赖了很多其他模块, 我做Lealoene时,已经剥离过一次了,也许你可以参考一下: https://github.com/codefollower/Lealone/tree/master/lealone-cluster/src/main/java/org/lealone/cluster
不可以,里面不只有gossip的,还需要继续剥离出更小的子集。