📝 KDB+教程
24篇技术文档📅  最后修改于: 2020-11-03 06:40:32        🧑  作者: Mango
Kdb +是Kx Systems Inc.的高性能面向列的数据库。 kdb +旨在捕获,分析,比较和存储数据-全部高速,大量数据。本教程首先介绍了Kdb +,然后介绍了其体系结构,安装和对q编程语言的基础到高级的介绍。Kx®和kdb +是Kx Systems,Inc的注册商标。本参考资料已为初学者准备,以帮助他们了解KDB+数据库并以q语言为KDB+编写智能查询。先决条件由于我们将从头开始,因此您...
📅  最后修改于: 2020-11-03 06:41:06        🧑  作者: Mango
这是从kx系统到kdb +的完全替代品,主要针对那些独立学习的人。 2003年推出的kdb +是新一代的kdb数据库,旨在捕获,分析,比较和存储数据。一个kdb +系统包含以下两个组件-KDB+-数据库(k个数据库加上)Q-使用kdb +的编程语言kdb +和q均以k种编程语言编写(与q相同,但可读性较差)。背景Kdb + / q最初是一种晦涩的学术语言,但多年来,它逐渐提高了其用户友好性。APL...
📅  最后修改于: 2020-11-03 06:42:05        🧑  作者: Mango
Kdb +是从一开始就设计用于处理大量数据的高性能,大容量数据库。它是全64位的,并具有内置的多核处理和多线程功能。实时和历史数据使用相同的体系结构。数据库结合了自己强大的查询语言q,因此分析可以直接在数据上运行。kdb + tick是一种允许捕获,处理和查询实时和历史数据的体系结构。Kdb + / tick体系结构下图提供了典型的Kdb + / tick体系结构的一般概述,然后简要说明了各种组件...
📅  最后修改于: 2020-11-03 06:42:32        🧑  作者: Mango
Kdb +带有称为q的内置编程语言。它合并了标准SQL的超集,该超集已扩展用于时间序列分析,并且比标准版本具有许多优势。任何熟悉SQL的人都可以在几天之内学习q,并且能够快速编写自己的即席查询。启动“ q”环境要开始使用kdb +,您需要启动q会话。有三种方法可以启动q会话-只需在运行终端上键入“ c:/q/w32/q.exe”即可。启动MS-DOS命令终端,然后键入q。将q.exe文件复制到“ ...
📅  最后修改于: 2020-11-03 06:43:05        🧑  作者: Mango
通常需要将某些数据的数据类型从一种类型更改为另一种类型。标准强制转换函数是“ $”二元运算符。使用三种方法将一种类型转换为另一种类型( 字符串除外)-通过符号名称指定所需的数据类型通过字符指定所需的数据类型通过短值指定所需的数据类型。将整数转换为浮点数在以下将整数强制转换为浮点数的示例中,所有三种不同的强制转换方式都是等效的-检查这三个操作是否相等,将字符串转换为符号将字符串强制转换为符号,反之亦...
📅  最后修改于: 2020-11-03 06:43:38        🧑  作者: Mango
q语言具有表示和处理时间数据(例如时间和日期)的许多不同方式。日期自参考日期为2000年1月1日以来,kdb +中的日期在内部存储为天数的整数。该日期之后的日期在内部存储为正数,而之前的日期被称为负数。默认情况下,日期格式为“ YYYY.MM.DD”算术和逻辑运算可以直接在日期上执行。2000年1月1日是星期六。因此,历史上或将来的任何周六除以7,将产生余数0,周日得到1,周一收益为2。时报从午夜...
📅  最后修改于: 2020-11-03 06:43:58        🧑  作者: Mango
列表是q语言的基本构建块,因此对列表的透彻理解非常重要。列表只是原子(原子元素)和其他列表(一个或多个原子的组)的有序集合。清单类型常规列表将其项目括在匹配的括号内,并用分号分隔。例如-如果列表由相同类型的原子组成,则称为统一列表。否则,它被称为常规列表(混合类型)。计数我们可以通过计数获得列表中的项目数。简单列表的例子**注意-char的简单列表称为字符串。列表包含原子或列表。要创建单个项目列表...
📅  最后修改于: 2020-11-03 06:44:30        🧑  作者: Mango
列表是根据项目的位置从左到右排序的。项目从列表开头的偏移量称为其索引。因此,第一项的索引为0,第二项(如果存在)的索引为1,依此类推。计数n的列表的索引域为0到n–1。索引符号给定一个列表L,索引i处的项将由L [i]访问。通过索引检索项目称为项目索引。例如,索引分配列表中的项目也可以通过项目索引进行分配。从而,变量列表加盟名单在两个列表上最常见的操作是将它们连接在一起以形成更大的列表。更准确地说...
📅  最后修改于: 2020-11-03 06:45:18        🧑  作者: Mango
字典是列表的扩展,它为创建表提供了基础。用数学术语,字典创建“域→范围”或通常(简短)创建“键→值”元素之间的关系。字典是键-值对的有序集合,它大致等效于哈希表。字典是由域列表和范围列表之间通过位置对应关系的显式I / O关联定义的映射。字典的创建使用“ xkey”原语(!)最基本的字典将一个简单列表映射到一个简单列表。Input (I)Output (O)`Name`John`Age36`Sex...
📅  最后修改于: 2020-11-03 06:46:37        🧑  作者: Mango
表是kdb +的核心。表是实现为字典的命名列的集合。q表是面向列的。建立表格使用以下语法创建表-在上面的示例中,我们没有指定每列的类型。这将通过在表中的第一次插入来设置。另一种方法,我们可以在初始化时指定列类型-或者我们也可以定义非空表-如果如上例中的方括号中没有列,则该表为非键控。要创建键控表,我们将键的列插入方括号中。还可以通过将值设置为各种类型的空列表来定义列类型-获取表信息让我们创建一个交...
📅  最后修改于: 2020-11-03 06:47:02        🧑  作者: Mango
Kdb +具有名词,动词和副词。所有数据对象和函数都是名词。动词通过减少表达式中的方括号和括号的数量来增强可读性。副词修改二进位(2个自变量)函数和动词以产生新的相关动词。副词产生的功能称为派生功能或派生动词。每用(`)表示的副词each修改了二进位函数和动词,以应用于列表项而不是列表本身。看下面的例子-每个关键字函数都有一种形式,使用关键字“ each”。例如,左,右每个用于二进位函数的变量都有...
📅  最后修改于: 2020-11-03 06:47:33        🧑  作者: Mango
在q语言中,根据提供的输入表和所需的联接表的类型,我们有不同类型的联接。联接合并了两个表中的数据。除了外键追踪外,还有四种其他方法可以联接表-简单加入Asof加入左联接联合加盟在本章中,我们将在此详细讨论每个连接。简单加入简单连接是最基本的连接类型,用逗号“,”执行。在这种情况下,两个表必须是类型一致的,即两个表都具有相同顺序的相同列数和相同键。对于相同长度的表,我们可以使用逗号每个联接横向连接。...
📅  最后修改于: 2020-11-03 06:50:25        🧑  作者: Mango
功能类型可以通过多种方式对功能进行分类。在这里,我们根据它们采用的参数的数量和类型以及结果类型对它们进行了分类。功能可以是,原子-参数是原子的并产生原子结果聚集-列表中的原子统一(列表中的列表)-扩展了原子应用于列表的概念。参数列表的数量等于结果列表的数量。其他-如果函数不是来自上述类别。数学中的二元运算在q中称为二进位函数;例如“ +”。同样,一元运算也称为单子函数;例如“ abs”或“ flo...
📅  最后修改于: 2020-11-03 06:51:08        🧑  作者: Mango
q编程语言具有一组丰富而强大的内置函数。内置函数可以是以下类型-字符串函数-将字符串作为输入并返回一个字符串。聚合函数-将列表作为输入并返回原子。统一函数-获取列表并返回相同计数的列表。数学函数-接受数字参数并返回数字参数。杂项功能-除上述函数的所有功能。字符串函数像-模式匹配ltrim-删除前导空白rtrim-删除尾随空格ss-字符串搜索修剪-删除前导和尾随的空白数学函数acos-cos的逆co...
📅  最后修改于: 2020-11-03 06:52:07        🧑  作者: Mango
q中的查询更短,更简单,并且扩展了sql的功能。主要查询表达式是“选择表达式”,它以最简单的形式提取子表,但它也可以创建新列。Select表达式的一般形式如下-**注意-用&表示,短语是可选的,只有’from expression’是必需的。通常,语法为-q表达式的语法看起来与SQL非常相似,但是q表达式简单而强大。上述q表达式的等效sql表达式如下-所有子句都在列上执行,因此q可以利用顺序。由于...