2017升的最快的几个数据库无责任点评

January 5th, 2018 Comments off

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 2017升的最快的几个数据库无责任点评

ItPub写的文章“2017 年度 DB-Engines 数据库冠军得主:PostgreSQL 封王!”, 点击 这里 进一步阅读

升的最快的几个数据库,我简单的无责任点评:

PG数据库是很老的数据库,不过这几年冉冉升起,因为是学院派的,有很好的学术和智力的支持,一直以来在数据库的体系结构,代码的质量,创新的方向上都做的不错,借云计算的东风,特别是比如AWS对pg的支持,更多人知道了这个数据库的价值。 它的生态很完整,场景适用能力也很强大,从OLTP到OLAP,从CPU到GPU,从数据交互能力上都有非常好的优势。

ElasticSearch升起也很好理解,随着OLTP数据库MySQL和PG的壮大,搜索的需求一直是个刚需,而关系数据库在搜索方面是不会做的太好的,所以对于搜索的生态的需求就投射到了ElasticSearch上面,由于在性能和生态上做的不错,被用户接受也是时间的问题。

 

作为MySQL之父Monty专心做的数据库,MariaDB其实非常有情怀,不仅拥抱社区最新的贡献,比如引入facebook rocksdb做为主引擎,引入infinidb的columstore作为列存,在server层做行列存的整合,引入spider解决分布问题,贡献了maxscale中间件,特别是10.3版本动作很大,未来的10.4也会看到更多努力,在和社区协同比如和linux系统预安装,也为mariadb赢得很多群众基础,总之会越来越好。

 

从趋势来看,关系数据库又回到主流,生态和云数据库体系对这个变化还是有很大的贡献,毕竟用户不会只用一种数据库,可以预见BI类产品未来也会火起来。

 

祝玩的开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 数据库 Tags:

新的工作和研究方向

January 5th, 2018 Comments off

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 新的工作和研究方向

和大家更新下:

做了将近8年数据库后,我的工作和研究方向将会延伸到虚拟化和计算相关的云服务,希望能够和大家一起进步,Happy New Year!

预祝大家玩得开心!

 

 

Post Footer automatically generated by wp-posturl plugin for wordpress.

MySQL数据库架构的演化观察

December 14th, 2017 Comments off

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: MySQL数据库架构的演化观察

AS北京2017-余锋-MySQL数据库架构的演化观察

祝玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 数据库 Tags:

阿里云RDS团队招募热烈进行中

May 16th, 2016 2 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 阿里云RDS团队招募热烈进行中

Screen Shot 2016-05-16 at 8.10.49 PM

各种简历砸过来,一起玩耍:点这里

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 杂七杂八 Tags: , ,

Erlang 17.5引入+hpds命令行控制进程默认字典大小

April 1st, 2015 4 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Erlang 17.5引入+hpds命令行控制进程默认字典大小

Erlang 17.5发布引入控制进程默认字典大小的命令行参数:

Erlang/OTP 17.5 has been released
Written by Henrik, 01 Apr 2015

Some highlights of the release are:
ERTS: Added command line argument option for setting the initial size of process dictionaries.

源码变化参看: https://github.com/erlang/otp/commit/c7a07bf984739bcc679d800e5383c01e1d07ffa5
文档:https://github.com/erlang/otp/commit/89987ada3c997fd9f1e1f8c8ed73da0394bda4ee

这个+hpds参数默认是字典有10个槽位,由于典型的Erlang VM内有成千上万的进程,官方又不鼓励使用字典,因为破坏fp语义,所以这些默认的字典占用的内存是浪费掉了。 挑小了对于内存敏感的嵌入式机器还是挺可观的;调大了对字典性能有一定的提升。

祝玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Erlang探索, 源码分析 Tags:

集群引入inet_dist_{listen,connect}_options更精细参数微调

April 1st, 2015 1 comment

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 集群引入inet_dist_{listen,connect}_options更精细参数微调

Erlang 17.5版本引入了inet_dist_{listen,connect}_options,对于结点间的互联socket可以有更精细的控制,RPC的时候性能可以微调:

raimo/inet_tcp_dist-priority-option/OTP-12476:
Document kernel inet_dist_{listen,connect}_options
Test kernel inet_dist_{listen,connect}_options
Implement kernel inet_dist_{listen,connect}_options

参看源码:https://github.com/erlang/otp/commit/14ddc5594d74979a15a256a41fba5f1297aeaa1a

随着Erlang集群和节点上千,节点之间的RPC的开销和延迟就会被放大. 因为每个节点间的互通都是通过tcp, 驱动上也都是gen_tcp所以理论上对于gen_tcp合用的参数都可以设置,在延迟和吞吐量之间来平衡。

祝玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Erlang 18RC1释出

April 1st, 2015 1 comment

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Erlang 18RC1释出

三月底,官网宣布Erlang 18RC1公测,参看 这里,按照惯例Erlang每年会出一个大版本,从R11开始到现在R18,7年时间我从Erlang的发展历程中见证了一个大型系统的演变过程。

Erlang/OTP 18.0-rc1 is available for testing.
This is an alpha release, which will be followed by a planned beta release in May and a final OTP 18.0 product release in June 2015.

18.0正式版本6月份会放出, 这个版本很值得期待的内容有以下几点, 参看 News From the OTP TEAM Berlin Erlang Factory Lite 2014

重点需要解决的:
f1
当期亮点:
f2

长期的:
f3

对于这次预发布最大的亮点如下:

Some highlights of the release are:

dialyzer: The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module.
erts: The time functionality has been extended. This includes a new API for time, as well as “time warp” modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it will always be a scalability bottleneck. For more information see the Time and Time Correction chapter of the ERTS User’s Guide. Here is a link http://www.erlang.org/documentation/doc-7.0-rc1/erts-7.0/doc/html/time_correction.html

erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are:
scheduler specific timer wheels,
scheduler specific BIF timer management,
parallel retrieval of monotonic time and system time on OS:es that support it.
erts: The previously introduced “eager check I/O” feature is now enabled by default.
erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash Array Mapped Trie) representation internally which makes them more efficient. There is now also support for variables as map keys.
ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability.
ssl: Remove default support for RC4 cipher suites, as they are consider too weak.
stdlib: Allow maps for supervisor flags and child specs

其中对定时器的API语义和使用方式做了重新定义,伸缩能力优化做了大量的工作,拆成基于每个调度器的,对于定时器密集型的业务会有很大的性能提升。
具体的参考:Erlang VM Developer Lukas Larsson 做的 演讲

这次解决了定时器的瓶颈,个人最期待的是Multiple poll sets, 这个解决了,性能就完美了!

祝玩的开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Erlang探索, 源码分析 Tags: , ,