中台,我信了你的邪 | 深氪 写得很不错,特意转出来。曾在淘宝的中间件团队做过两年多,又在传统行业参与过某个大厂的数据平台建设,还做过不少业务系统,虽然没有正式参与过一个"中台"项目,但是很认同这篇文章想表达的东西: 不了解业务和组织架构的情况下,搞啥台都能搞垮台。
网页链接 不是什么秘密,经费不多,不过可以少交一点税。若是做数据库,在高校做,从国家拿钱就容易一些。
[VLDB]P-Tree 支持 HTAP 场景的多版本索引结构 这篇2019年发的论文,绝大多数核心思想都跟我的Lealone数据库中使用的异步并行化btree相似:路径copy、异步执行批量操作、并行化读写、在value中嵌套另一个btree。
网页链接 HSQLDB 这个数据库有两点我想Research一下,纯粹就是不太常见,所以好奇。
网页链接 有空闲时间再补充了。
网页链接
网页链接 目前收集了680多个数据库(不仅仅是RDBMS),从链接中的统计数据看,论数量,美国第一,中国也排第4了。按开发语言算,Java排第一,已经超过C++了!连数据库这类C/C++的传统优势领域都被Java超越了。
网页链接 目前有35万行Java代码左右,而H2
网页链接 数据库有33万多行。两个数据库每个时期的核心研发人员都是一到两个,hsqldb的核心开发(Fred Toussi)一直活跃,而H2的创始人(Thomas Mueller)最近3年已经不是主力了。
网页链接 如果装了Maven 和 Eclipse,照着 README 里的几步操作,两分钟就能把一个数据库的开发测试环境搭起来了。今年很重要的工作就是Java数据库知识普及,就从最简单的 H2 开始,最后再讲我的 Lealone 如何玩出更多新花样。
网页链接 从去年4月份写了一篇从源码构建MySQL开发调试环境的文章开始,然后连续写了12篇,断更了,关键是还没怎么入门。读大型项目源码,是一件很苦的活,绝大多数人都是刚开始有一点激情,最后都会知难而退的,能坚持两年时间下来也就不愁找工作了。
网页链接 也算是有进步,连年度总结这种流水账都写得一年比一年长,当然,最重要的是真实二字。
网页链接 (是不是又有点 Java 1.0 时代green thread 的味道?)
GitHub - puniverse/quasar: Fibers, Channels and Actors for the JVM 稍微有点进展,但是依然难用,再到 Kotlin 的协程,虽然已经能用于生产环境,但是这个方案也只适合新的 Kotlin 应用,而且也只是在编译层面解决问题,对 Java 社区现有的大量代码没有用处。
自动机理论、语言和计算导论
编译原理 第二版:
网页链接
网页链接
网页链接
网页链接 龙书的定位没必要改,结合自动机那本书就是给首次接触编译器的人看的。
网页链接 那两本书是我推荐给所有想做数据库研发的人看的最好的入门和初步进阶的教科书,亲自做过一个数据库产品后我更加确信这两本书有价值。
网页链接 里面列的Java、编译器、数据库相关的书,绝大多数依然有用。
网页链接 然后我把协议包分成几大类:
网页链接 每一个协议包就对应一个普通的POJO,最后每一个协议包还对应一个PacketHandler:
网页链接
网页链接 这个是正确性证明的论文:
网页链接
网页链接 从2014年就开始做了,估计会合并到4.0(还未发布),Cassandra 这种对等架构的系统的确适合Leaderless。除了 Cassandra 我还没有找到其他用 EPaxos 的数据库。
网页链接 它的Single-Primary部署模式就是Strong Leader,而Multi-Primary部署模式就是Leaderless。不过它的Multi-Primary模式跟Leaderless还是有点差别,客户端并不是并行写多个Primary的,看它的架构
网页链接 需要客户端先接入一个Primary,然后再由此Primary并行写到其他Primary,这种设计我想是为了兼容现有的客户端吧,如果在客户端实现并行写多个Primary,需要修改客户端协议,用不同语言实现的客户端需要做改动还是挺麻烦的。
网页链接 又提供了Replication相关的功能,没去翻代码,不太确信它是否支持在客户端并行写多个Primary,我的Lealone就是并行写多个节点的,这样可以减少一次round trip。
网页链接 就是每个表必须有主键或者不为null的唯一键。因为我最近在我的Lealone数据库中实现复制算法时刚好碰到没有主键的表当执行insert时会有问题。因为Lealone跟MySQL都类似,对于没有主键的表,insert新记录时,会为这条记录自动生成一个递增的逻辑rowId,这个rowId是用来关联索引的。
网页链接 去年看到<<2018年阿里巴巴重要开源项目汇总>>
2018年阿里巴巴重要开源项目汇总(持续更新中) 这篇文章也把 Lealone 归到阿里巴巴,我又声明了一次。还好我刚去看官方最新文档时已经把 Lealone 的介绍删除了:
网页链接 我很感谢阿里巴巴对 Lealone 的宣传,但是 Lealone 的版权确实不属于阿里巴巴。
2019广西民营企业100强榜单发布 2019广西民营企业制造业100强
2019广西民营企业100强榜单发布 桂林的优势在电子、农副食品加工、医药制造领域。柳州的优势是汽车制造业,南宁是农副食品加工。
网页链接 这里也提到了一句"2019年桂林市人民政府工作报告中,为重振桂林工业雄风" 重点是这个重振。所以咱们广西人不用自卑,就如我昨天的微博说的,很多人只知道桂林旅游出名,其实过去工业也挺牛的,只是存在一些原因为了保住这个国家级的旅游名片做了一些牺牲而已。
数据库连接池这样的技术应该扫进历史的垃圾堆中 对于Lealone这样的数据库是不需要用连接池的,在客户端有多少个线程就打开相应个数的JDBC连接即可。
网页链接 顺便写了一个简短但是图文并茂的使用文档:
网页链接 体验过后,看看易用性是不是直接秒杀MySQL的复制集群使用方式,并且秒杀落后的MySQL分库分表中间件。
网页链接 接下来会逐渐增多。还把N年前两篇分布式事务的老文档也重新上传了,就当是了解最初的想法吧:
网页链接
网页链接
如何评价开源数据库lealone的分布式事务模型?
网页链接 今天看到Firebird这个陌生的名字,数据库的排名还挺高,查看了一下历史,原来是那个死去的Borland公司的InterBase,都快20年了还活者,还在开发新版本,当年我用 Delphi 时是用过InterBase的。
网页链接 某国内数据库还得在国外多宣传,光是国内火没什么用呢,流行度比CockroachDB还差20多个名次。更没有超过三大Java开源关系数据库: Derby、HyperSQL、H2。
网页链接
网页链接 我简单翻了一下代码,网络框架用的是netty,然后从头用异步的方式实现PostgreSQL和MySQL的客户端协议,不过,不是在JDBC的基础上扩展的,而是用另一套API,并且不依赖PostgreSQL和MySQL的JDBC驱动。
网页链接 变化好块,我还在用3.5.1,先熟悉一下最新版本,然后跟我的数据库再深度集成一下,先做第一个应用项目。
网页链接
网页链接 基本上在搞大集成了,两个大版本没什么太让人兴奋的点。之前看微软一篇论文提到能加快恢复的速度倒是多看了几眼,数据库基础领域乏善可陈。
网页链接 的插件,如果喜欢带颜色的sql客户端,就可以用sqlline插件。默认不带这个插件。
网页链接 一起床就加了个小功能,现在数据库的使用体验已经极简了,下一个不到3M的包,解压,数据库都不用启动,一条命令就能用嵌入式的方式体验了: sqlshell -url jdbc
网页链接
网页链接 看了ABSTRACT就迫不及待想发一条微博了。 看来学术圈也在努力思考怎么统一处理分布式事务和副本强一致性问题了,我又提前几年走在了前面了,就如我在别人的这篇文章中所说的那样
Snapshot Isolation综述 统一是迟早的,就看啥时普及而已。
网页链接 看到这个回答的最后,差点吓尿了。还好我创业不要风投的钱,也不借钱,现在即便专心做数据库也不拖累其他任何人。否则的话,要是明年这数据库产品不卖钱欠一身债的话,想卖艺20年还账都没机会。创业还是挺凶险的,还好我走了一条几乎零风险的路。
网页链接 是Michael James Cahill 2009年的博士论文。一个小领域,足足写了130多页的pdf论文!
网页链接 果真看到有人提MySQL这个费解的问题了,我的合理猜测是,要避免幻读,只需要InnoDB的MVCC功能就够了,用不到间隙锁;
网页链接 搜索WITH RECURSIVE
网页链接 这个我花了8个多月研究与开发的大一统SQL引擎还远没有满足我的期望,受drill和calcite的约束,没办法放飞自我,设计得太复杂了,我希望在下一个6.0版本中能有更好的思路。Lealone + Bats 就是我的终极目标,横跨数据库(含OLTP和OLAP)、大数据两个领域,实现真正的大一统。
网页链接 对数据库圈子独一无二的两个重量级贡献,一个是用统一的线程池(调度器)做全链路异步化,这个比较好抄,只是工程量大而已;另一个就是异步并行化lock-free btree了,这个就不好抄了,在H2 MVStoe或InnoDB、RocksDB上面实现少说也得重写一半的代码。
自言自语之地,现在是微博V2.0,微博V1.0是:2010年7月29日-2017年11月16日
| 0 | 1920 | 666 |
| 关注 | 粉丝 | 微博 |
