[kdb+/en] highlight and update links

This commit is contained in:
Boris Verkhovskiy 2024-04-19 02:19:54 -07:00
parent fbd84cf623
commit ecd16aedf9

View File

@ -11,24 +11,22 @@ and released by Kx systems in 2003. q is a descendant of APL and as such is
very terse and a little strange looking for anyone from a "C heritage" language very terse and a little strange looking for anyone from a "C heritage" language
background. Its expressiveness and vector oriented nature make it well suited background. Its expressiveness and vector oriented nature make it well suited
to performing complex calculations on large amounts of data (while also to performing complex calculations on large amounts of data (while also
encouraging some amount of [code encouraging some amount of [code golf](https://en.wikipedia.org/wiki/Code_golf)).
golf](https://en.wikipedia.org/wiki/Code_golf)). The fundamental structure in The fundamental structure in the language is not the object but instead the list,
the language is not the object but instead the list, and tables are built as and tables are built as collections of lists. This means - unlike most traditional
collections of lists. This means - unlike most traditional RDBMS systems - RDBMS systems - tables are column oriented. The language has both an in-memory
tables are column oriented. The language has both an in-memory and on-disk and on-disk database built in, giving a large amount of flexibility. kdb+ is most
database built in, giving a large amount of flexibility. kdb+ is most widely widely used in the world of finance to store, analyze, process and retrieve large
used in the world of finance to store, analyze, process and retrieve large
time-series data sets. time-series data sets.
The terms *q* and *kdb+* are usually used interchangeably, as the two are not The terms *q* and *kdb+* are usually used interchangeably, as the two are not
separable so this distinction is not really useful. separable so this distinction is not really useful.
All Feedback welcome! You can reach me at matt.doherty@aquaq.co.uk, or Jonny To learn more about kdb+ you can join the
at jonny.press@aquaq.co.uk [KX Community forums](https://learninghub.kx.com/forums/) or
the [TorQ kdb+](https://groups.google.com/forum/#!forum/kdbtorq) group.
To learn more about kdb+ you can join the [Personal kdb+](https://groups.google.com/forum/#!forum/personal-kdbplus) or [TorQ kdb+](https://groups.google.com/forum/#!forum/kdbtorq) group. ```q
```
/ Single line comments start with a forward-slash / Single line comments start with a forward-slash
/ These can also be used in-line, so long as at least one whitespace character / These can also be used in-line, so long as at least one whitespace character
/ separates it from text to the left / separates it from text to the left
@ -47,7 +45,7 @@ To learn more about kdb+ you can join the [Personal kdb+](https://groups.google.
/ We have integers, which are 8 byte by default / We have integers, which are 8 byte by default
3 / => 3 3 / => 3
/ And floats, also 8 byte as standard. Trailing f distinguishes from int / And floats, also 8 byte as standard. Trailing f distinguishes from int
3.0 / => 3f 3.0 / => 3f
/ 4 byte numerical types can also be specified with trailing chars / 4 byte numerical types can also be specified with trailing chars
@ -656,7 +654,7 @@ t lj le
/ => Polly 52 160 f 85 / => Polly 52 160 f 85
/ => John 25 178 m 78 / => John 25 178 m 78
/ aj is an asof join. This is not a standard SQL join, and can be very powerful / aj is an asof join. This is not a standard SQL join, and can be very powerful
/ The canonical example of this is joining financial trades and quotes tables / The canonical example of this is joining financial trades and quotes tables
trades:([]time:10:01:01 10:01:03 10:01:04;sym:`msft`ibm`ge;qty:100 200 150) trades:([]time:10:01:01 10:01:03 10:01:04;sym:`msft`ibm`ge;qty:100 200 150)
quotes:([]time:10:01:00 10:01:01 10:01:01 10:01:03; quotes:([]time:10:01:00 10:01:01 10:01:01 10:01:03;
@ -700,7 +698,7 @@ first each (1 2 3;4 5 6;7 8 9)
/ The true alternatives to loops in q are the adverbs scan (\) and over (/) / The true alternatives to loops in q are the adverbs scan (\) and over (/)
/ their behaviour differs based on the number of arguments the function they / their behaviour differs based on the number of arguments the function they
/ are modifying receives. Here I'll summarise some of the most useful cases / are modifying receives. Here I'll summarise some of the most useful cases
/ a single argument function modified by scan given 2 args behaves like "do" / a single argument function modified by scan given 2 args behaves like "do"
{x * 2}\[5;1] / => 1 2 4 8 16 32 (i.e. multiply by 2, 5 times) {x * 2}\[5;1] / => 1 2 4 8 16 32 (i.e. multiply by 2, 5 times)
{x * 2}/[5;1] / => 32 (using over only the final result is shown) {x * 2}/[5;1] / => 32 (using over only the final result is shown)
@ -761,10 +759,10 @@ select from splayed / (the columns are read from disk on request)
////// Frameworks ////// ////// Frameworks //////
/ kdb+ is typically used for data capture and analysis. / kdb+ is typically used for data capture and analysis.
/ This involves using an architecture with multiple processes / This involves using an architecture with multiple processes
/ working together. kdb+ frameworks are available to streamline the setup / working together. kdb+ frameworks are available to streamline the setup
/ and configuration of this architecture and add additional functionality / and configuration of this architecture and add additional functionality
/ such as disaster recovery, logging, access, load balancing etc. / such as disaster recovery, logging, access, load balancing etc.
/ https://github.com/AquaQAnalytics/TorQ / https://github.com/DataIntellectTech/TorQ
``` ```
## Want to know more? ## Want to know more?
@ -772,5 +770,4 @@ select from splayed / (the columns are read from disk on request)
* [*q for mortals* q language tutorial](http://code.kx.com/q4m3/) * [*q for mortals* q language tutorial](http://code.kx.com/q4m3/)
* [*Introduction to Kdb+* on disk data tutorial](http://code.kx.com/q4m3/14_Introduction_to_Kdb+/) * [*Introduction to Kdb+* on disk data tutorial](http://code.kx.com/q4m3/14_Introduction_to_Kdb+/)
* [q language reference](https://code.kx.com/q/ref/) * [q language reference](https://code.kx.com/q/ref/)
* [Online training courses](http://training.aquaq.co.uk/) * [TorQ production framework](https://github.com/DataIntellectTech/TorQ)
* [TorQ production framework](https://github.com/AquaQAnalytics/TorQ)