官网会是主要的学习资源:https://code.kx.com/q/
中文教程可能读起来会快一点: https://kdbcn.gitee.io/
参考了还不错的学习经验帖:https://www.jianshu.com/p/488764d42627
KDB+擅长处理时序数据, KDB+数据库是后端数据库,数据库操作/脚本都是基于q语言。可以在脚本中定义相应函数功能,然后在数据库上进行执行,并返回执行结果。主要是部分银行业大公司在使用,多年未更新了,所以基本没有新增应用场景,三本书从易到难:
1.《Q for Mortals 3》 入门级: https://code.kx.com/q4m3/
2.《Q Tips》提升级
3.《Q for Gods》实战级
目前一周突击,目标是掌握基础语句即可。
全球时序数据库排名:
跟着官网的指引get_start,开始安装并且尝试例子。由于有墙,在线编译打不开,所以下载安装在本地使用。官网即有q语言的的基本语法例子以及Q for Mortals等学习资料。
基础数据类型: Q handles numerical data, including times, dates, and periods. Also booleans, characters, GUIDs, and immutable strings called symbols.
比较特别的是symbol,这是immutable string. 长度=1,一个symbol是一个atom级的概念,因为是immutable的;characters更类似于python中的string概念。
A list in which all items are atoms of the same datatype is a simple list or vector: list的概念和python一致,simple_list/vector类似于numpy array的概念,矢量化操作的根基。
A table is a list of dictionaries. Table是一系列的dict,类似于python中的dataframe和dict.
Iteration有点难懂,mark一下: