为本博客申请了一个微信公众号,欢迎订阅
内存数据库设计要点总结
因为新型存储器件的飞速发展,DRAM内存器件大小越来越大,导致内存数据库(其实还有内存文件系统)需求越来越强烈,原始基于硬盘为主存储结构的数据库设计因此会有哪些变化呢? 传统硬盘数据库设计特点 首先总结下传统硬盘数据库设计特点为: 使用非易失硬盘作为主要存储,使用易失内存做缓存池(涉及内存与磁盘上以“页”为单位的数据同步) 页为单位的索引数据组织(页号、slot号、header、tuple、blo …
因为新型存储器件的飞速发展,DRAM内存器件大小越来越大,导致内存数据库(其实还有内存文件系统)需求越来越强烈,原始基于硬盘为主存储结构的数据库设计因此会有哪些变化呢? 传统硬盘数据库设计特点 首先总结下传统硬盘数据库设计特点为: 使用非易失硬盘作为主要存储,使用易失内存做缓存池(涉及内存与磁盘上以“页”为单位的数据同步) 页为单位的索引数据组织(页号、slot号、header、tuple、blo …
周六参加了深圳NodeParty,主要是看到有专题会分享他们使用Node与微服务改造的经验,特别关注工业级运维node集群的经验。 第一场演讲是《实战ES2015》 主要是安利一下JS新语法标准ES2015的改进,展望一下所有浏览器都支持新语法后的未来。 首先的变化好处体现在class关键字,以语法糖的形式区分了类与函数;接着是使用export&import关键字来管理模块,统一标准结束了 …
CAS原理 CAS通过调用JNI的代码实现的。JNI:Java Native Interface为JAVA本地调用,允许java调用其他语言。 而compareAndSwapInt就是借助C来调用CPU底层指令实现的。 下面从分析比较常用的CPU(intel x86)来解释CAS的实现原理。 下面是sun.misc.Unsafe类的compareAndSwapInt()方法的源代码: public …
这篇文章转自设计合格的REST API,介绍了所有Restful协议实现的原则 REST API是一个系统的backend和frontend(或者3rd party)打交道的通道,承前启后,有很多很多隐式需求,比如调用接口与RFC保持一致,API的内在和外在的安全性等等,并非提供几个endpoint,返回相应的json数据那么简单。仔细研究了原作者的代码,发现缺失的东西实在太多,每个API基本都在 …