最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Q 语言初学者系列

IT圈 admin 29浏览 0评论

2024年5月30日发(作者:苏炎)

Q 语言初学者系列:(1)开门篇

h/trac/wiki/QforMortals2/contents

用户名跟密码为anonymous

历史背景:

Q语言跟它的数据库kdb+是由同个作者Arthur Whitney开发的,发布于 2003年。Q语言天生

地具体处理大数理量的能力,同时它也是kdb+数据库的查询语言,类似于SQL。

KDB+介绍:

KDB+ 是一种适合用于处理大数量的数据库服务器,和kdb一样被设计于用来高速地抓取、分析和

存储数据。主要应用于金融软件的开发,区别于传统的关系型数据库,主要优势是挖掘快速发展的硬件的

潜力,我想缺点是对硬件性能要求比较苛刻。

刚刚接触KDB+数据库,google了半天没找到一丁点中文资料,加上英文太菜,或许对它的理解有

误,不过暂时先这样定义,等有了更好的答案了再来Update.

打开地址 /developers/,然后选择点击"Personal Developer

kdb+ Software License Agreement"获取一个免费的32位版本,才100多K的东西。

特点:

◇内存数据库(In Memory Database):把数据全部放置于内存中,好在现在内存是越来越白菜价了。

◇解释型语言(Interpreted)

◇有序列表(Ordered Lists):实现高速处理数据的关键,区别于传统数据库。

◇赋值顺序(Evaluation Order)

◇面向表编程(Table Oriented) :放弃了经典的OO,取而代之的是一种更加复杂的思想,基于表得字典

的编程。

◇面向列编程(Column Oriented)

◇强类型(Types): 强类型,动态检测(Q is a strongly typed, dynamically checked language)

◇空值(Null Values): 每种类型都有自己的空值 (Types have separate null values. )

开始:

安装Kdb+ 数据库服务器,直接解压到C盘根目录下就OK了,如果希望放到其它目录下需要添加

环境变量QHOME到q目录;

进入到程序目录通过"q"命令启动一个q会话。

变量:

Q语言声明变量只需要使用一个变量名跟一个值,格式为“变量名:值”,解释器会根据值的类型给变量

赋予相应的类型,需要注意的是赋值符号是":"而不像大多数语言所使用的"=".

e.g.q)a:20

变量的命名规范基本与匈牙利命名规范差不多,但有一点需要注意的是禁止使用下划线,就算是非使

用不可的情况下也不应该把下划线放在最后一个字符。

可能使用一个斜杆(/)给程序添加注释,当然使用两杆(//)也是不会报错的,程序的执行顺序是从右到

e.g. q)b:1+a:42

q)b

43

Q 语言初学者系列:(2)基本数据类型

Q语言跟C#、JAVA还有SQL基本数据类型的比较

Q

boolean

byte

short

int

long

real

float

char

symbol

date

SQL Java C#

boolean Boolean Boolean

byte Byte Byte

Int16 smallint Short

int Integer Int32

Int64

Single

Double

bigint Long

real

float

Float

Double

char(1) Character Char

varchar (String) (String)

date Date

2024年5月30日发(作者:苏炎)

Q 语言初学者系列:(1)开门篇

h/trac/wiki/QforMortals2/contents

用户名跟密码为anonymous

历史背景:

Q语言跟它的数据库kdb+是由同个作者Arthur Whitney开发的,发布于 2003年。Q语言天生

地具体处理大数理量的能力,同时它也是kdb+数据库的查询语言,类似于SQL。

KDB+介绍:

KDB+ 是一种适合用于处理大数量的数据库服务器,和kdb一样被设计于用来高速地抓取、分析和

存储数据。主要应用于金融软件的开发,区别于传统的关系型数据库,主要优势是挖掘快速发展的硬件的

潜力,我想缺点是对硬件性能要求比较苛刻。

刚刚接触KDB+数据库,google了半天没找到一丁点中文资料,加上英文太菜,或许对它的理解有

误,不过暂时先这样定义,等有了更好的答案了再来Update.

打开地址 /developers/,然后选择点击"Personal Developer

kdb+ Software License Agreement"获取一个免费的32位版本,才100多K的东西。

特点:

◇内存数据库(In Memory Database):把数据全部放置于内存中,好在现在内存是越来越白菜价了。

◇解释型语言(Interpreted)

◇有序列表(Ordered Lists):实现高速处理数据的关键,区别于传统数据库。

◇赋值顺序(Evaluation Order)

◇面向表编程(Table Oriented) :放弃了经典的OO,取而代之的是一种更加复杂的思想,基于表得字典

的编程。

◇面向列编程(Column Oriented)

◇强类型(Types): 强类型,动态检测(Q is a strongly typed, dynamically checked language)

◇空值(Null Values): 每种类型都有自己的空值 (Types have separate null values. )

开始:

安装Kdb+ 数据库服务器,直接解压到C盘根目录下就OK了,如果希望放到其它目录下需要添加

环境变量QHOME到q目录;

进入到程序目录通过"q"命令启动一个q会话。

变量:

Q语言声明变量只需要使用一个变量名跟一个值,格式为“变量名:值”,解释器会根据值的类型给变量

赋予相应的类型,需要注意的是赋值符号是":"而不像大多数语言所使用的"=".

e.g.q)a:20

变量的命名规范基本与匈牙利命名规范差不多,但有一点需要注意的是禁止使用下划线,就算是非使

用不可的情况下也不应该把下划线放在最后一个字符。

可能使用一个斜杆(/)给程序添加注释,当然使用两杆(//)也是不会报错的,程序的执行顺序是从右到

e.g. q)b:1+a:42

q)b

43

Q 语言初学者系列:(2)基本数据类型

Q语言跟C#、JAVA还有SQL基本数据类型的比较

Q

boolean

byte

short

int

long

real

float

char

symbol

date

SQL Java C#

boolean Boolean Boolean

byte Byte Byte

Int16 smallint Short

int Integer Int32

Int64

Single

Double

bigint Long

real

float

Float

Double

char(1) Character Char

varchar (String) (String)

date Date

发布评论

评论列表 (0)

  1. 暂无评论