{"slug": "kdbplus", "name": "kdb+", "category": "databases", "category_name": "Databases", "description": "", "recommenders": 4, "commenters": 10, "warners": 2, "score": 2.511, "rising": -1.31, "first": "2025-11-11", "latest": "2026-08-07", "why": "I learned so much from the array semantics about how to concisely represent time-series logic", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 3, "compare": 1, "warn": 2}, "spark": [2, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I learned so much from the array semantics about how to concisely represent time-series logic", "kind": "", "icon": true, "domain": "kx.com", "github_repo": null, "official_url": "https://kx.com/", "pricing": "", "aliases": ["kdb+", "Kdb+"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 771903824, "item_id": 48243989, "url": "https://news.ycombinator.com/item?id=48243989", "by": "bjconlan", "date": "2026-05-22", "version": null, "stance": "recommend", "quote": "I really do love what kdb is doing", "excerpt": "If you're looking to use this with the community edition I would recommend reading through https://dataintellect.com/blog/running-torq-with-kdb-x-community-edition/ as they outline some of the factors that need consideration. I really do love what kdb is doing but I think maybe they lost too much momentum (and confidence) when back flipping on previous agreements for the community editions. (Which I don't think they ", "context": "", "use_case": "", "switched_from": "", "story": "TorQ: Kdb+ Production Framework"}, {"id": 755383088, "item_id": 47211443, "url": "https://news.ycombinator.com/item?id=47211443", "by": "chrisaycock", "date": "2026-03-01", "version": null, "stance": "recommend", "quote": "I learned so much from the array semantics about how to concisely represent time-series logic", "excerpt": "I first encountered q/kdb+ at a quant job in 2007. I learned so much from the array semantics about how to concisely represent time-series logic that I can't imagine ever using a scalar language for research. Fun fact: the aj (asof join) function was my inspiration for pandas.merge_asof. I added the extra parameters (direction, tolerance, allow_exact_matches) because of the limitations I kept hitting in kdb. https://", "context": "Quant job in 2007", "use_case": "Time-series analysis", "switched_from": "", "story": "Programming in K"}, {"id": 736436688, "item_id": 46027293, "url": "https://news.ycombinator.com/item?id=46027293", "by": "the_sleaze_", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "May be worth getting a head start on these", "excerpt": "I recently learned of Kdb+ and the associated ecosystem of financial tools. May be worth getting a head start on these, I understand these are the tools that the HFTs and the quants use. https://kx.com/products/kdb/", "context": "", "use_case": "Financial time-series analytics", "switched_from": "", "story": "Ask HN: Good resources to learn financial systems engineering?"}, {"id": 734330098, "item_id": 45895631, "url": "https://news.ycombinator.com/item?id=45895631", "by": "RodgerTheGreat", "date": "2025-11-11", "version": null, "stance": "recommend", "quote": "this is probably the most commercially viable dialect to learn, with the best educational materials", "excerpt": "ngn/k is a performant FOSS implementation of k6, but it has many constraints and limitations that may make composing large programs difficult. It may be the best dialect for tinkering and learning the language. https://codeberg.org/ngn/k oK is a slow browser-based FOSS implementation of k6, with fun bells and whistles like \"iKe\", a visual livecoding environment. ngn/k and oK have diverged a bit, but are largely simil", "context": "", "use_case": "learning Q/k commercially", "switched_from": "", "story": "Array-programming the Mandelbrot set"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 780960080, "item_id": 48810005, "url": "https://news.ycombinator.com/item?id=48810005", "by": "zsombor", "date": "2026-07-06", "version": null, "stance": "warn", "quote": "KDB does not even qualify on the second requirement", "excerpt": "The language also has a pretty good manual: https://hobbes.readthedocs.io/en/latest/ that also give a bit more background on why this was developed in the first place. Imagine being able to answer real time what is going inside an application engine, even in cases that may involve complicated state. Then doing this without affecting the latency constraints of the critical path. Or being able to change the runtime beh", "context": "", "use_case": "", "switched_from": "", "story": "Hobbes \u2013 A Language and Embedded JIT Compiler"}, {"id": 771839472, "item_id": 48239967, "url": "https://news.ycombinator.com/item?id=48239967", "by": "anonu", "date": "2026-05-22", "version": null, "stance": "warn", "quote": "I've become disillusioned with kdb.", "excerpt": "This used to be aquaq. What happened? I liked this framework when I used it years ago but I've become disillusioned with kdb. I can ask Claude to write specialized rust based tick processing tools so quickly now. So the baseline use case for kdb is eroded away, at least for me. I love kdb as a distributed services framework. But if I can write it with redis and python with Claude support in all the boilerplate I'm mo", "context": "Former TorQ user", "use_case": "tick processing", "switched_from": "", "story": "TorQ: Kdb+ Production Framework"}]}], "who": [{"by": "Colegno", "context": "worked in trading", "url": "https://news.ycombinator.com/item?id=48863019", "date": "2026-07-10"}, {"by": "chrisaycock", "context": "Quant job in 2007", "url": "https://news.ycombinator.com/item?id=47211443", "date": "2026-03-01"}], "tags": [], "use_cases": ["fast analytics", "trading data", "tick processing", "time-series analysis", "financial time-series analytics", "learning q/k commercially"], "compared": [{"slug": "redis", "name": "Redis", "co": 1, "switched_from": 0, "switched_to": 1}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48238887", "title": "TorQ: Kdb+ Production Framework", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49208535", "title": "Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48821378", "title": "A new runtime for k and q: l", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48768935", "title": "Hobbes \u2013 A Language and Embedded JIT Compiler", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47164608", "title": "Programming in K", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47154971", "title": "om", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 2}, "2025-12": {}, "2026-01": {}, "2026-02": {"neutral": 2}, "2026-03": {"recommend": 1}, "2026-04": {}, "2026-05": {"warn": 1, "recommend": 1}, "2026-06": {}, "2026-07": {"warn": 1, "neutral": 1}, "2026-08": {"compare": 1}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 787495201, "item_id": 49218450, "url": "https://news.ycombinator.com/item?id=49218450", "by": "hmokiguess", "date": "2026-08-07", "version": null, "stance": "compare", "quote": "don\u2019t we have things like k and kdb that are many orders of magnitude faster even than this?", "excerpt": "I don\u2019t understand. It\u2019s not like we don\u2019t already have faster alternatives, don\u2019t we have things like k and kdb that are many orders of magnitude faster even than this? We use Postgres because it\u2019s fantastic at the scale and problems it solve, if you have an extremely critical system where raw speed is at the core of everything and you\u2019re dealing with petascale then maybe you\u2019re bringing a solution you like to a pro", "context": "", "use_case": "fast analytics", "switched_from": "", "story": "Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD"}, {"id": 781808304, "item_id": 48863019, "url": "https://news.ycombinator.com/item?id=48863019", "by": "Colegno", "date": "2026-07-10", "version": null, "stance": "neutral", "quote": "I used Q with KDB+ for trading", "excerpt": "K/Q and vibecoded doesn't sounds good. I used Q with KDB+ for trading and we should ensure to have the right data / calculus as tiny errors might have huge impact ($).", "context": "worked in trading", "use_case": "trading data", "switched_from": "", "story": "A new runtime for k and q: l"}, {"id": 780960080, "item_id": 48810005, "url": "https://news.ycombinator.com/item?id=48810005", "by": "zsombor", "date": "2026-07-06", "version": null, "stance": "warn", "quote": "KDB does not even qualify on the second requirement", "excerpt": "The language also has a pretty good manual: https://hobbes.readthedocs.io/en/latest/ that also give a bit more background on why this was developed in the first place. Imagine being able to answer real time what is going inside an application engine, even in cases that may involve complicated state. Then doing this without affecting the latency constraints of the critical path. Or being able to change the runtime beh", "context": "", "use_case": "", "switched_from": "", "story": "Hobbes \u2013 A Language and Embedded JIT Compiler"}, {"id": 771903824, "item_id": 48243989, "url": "https://news.ycombinator.com/item?id=48243989", "by": "bjconlan", "date": "2026-05-22", "version": null, "stance": "recommend", "quote": "I really do love what kdb is doing", "excerpt": "If you're looking to use this with the community edition I would recommend reading through https://dataintellect.com/blog/running-torq-with-kdb-x-community-edition/ as they outline some of the factors that need consideration. I really do love what kdb is doing but I think maybe they lost too much momentum (and confidence) when back flipping on previous agreements for the community editions. (Which I don't think they ", "context": "", "use_case": "", "switched_from": "", "story": "TorQ: Kdb+ Production Framework"}, {"id": 771839472, "item_id": 48239967, "url": "https://news.ycombinator.com/item?id=48239967", "by": "anonu", "date": "2026-05-22", "version": null, "stance": "warn", "quote": "I've become disillusioned with kdb.", "excerpt": "This used to be aquaq. What happened? I liked this framework when I used it years ago but I've become disillusioned with kdb. I can ask Claude to write specialized rust based tick processing tools so quickly now. So the baseline use case for kdb is eroded away, at least for me. I love kdb as a distributed services framework. But if I can write it with redis and python with Claude support in all the boilerplate I'm mo", "context": "Former TorQ user", "use_case": "tick processing", "switched_from": "", "story": "TorQ: Kdb+ Production Framework"}, {"id": 755383088, "item_id": 47211443, "url": "https://news.ycombinator.com/item?id=47211443", "by": "chrisaycock", "date": "2026-03-01", "version": null, "stance": "recommend", "quote": "I learned so much from the array semantics about how to concisely represent time-series logic", "excerpt": "I first encountered q/kdb+ at a quant job in 2007. I learned so much from the array semantics about how to concisely represent time-series logic that I can't imagine ever using a scalar language for research. Fun fact: the aj (asof join) function was my inspiration for pandas.merge_asof. I added the extra parameters (direction, tolerance, allow_exact_matches) because of the limitations I kept hitting in kdb. https://", "context": "Quant job in 2007", "use_case": "Time-series analysis", "switched_from": "", "story": "Programming in K"}, {"id": 754629344, "item_id": 47164334, "url": "https://news.ycombinator.com/item?id=47164334", "by": "nivertech", "date": "2026-02-26", "version": null, "stance": "neutral", "quote": "or even q from kdb+/q (kinda like Lisp but without parens)", "excerpt": "There are also APL + Lisp variants, like April, or even q from kdb+/q (kinda like Lisp but without parens). --- The APL programming language (a subset thereof) compiling to Common Lisp. https://github.com/phantomics/april APL and LISP\u2014should they be combined, and if so how? https://dl.acm.org/doi/10.1145/800136.804474", "context": "", "use_case": "", "switched_from": "", "story": "om"}, {"id": 749906816, "item_id": 46869176, "url": "https://news.ycombinator.com/item?id=46869176", "by": "nivertech", "date": "2026-02-03", "version": null, "stance": "neutral", "quote": "That's similar to how kdb+/q represent nulls and infinities", "excerpt": "That's similar to how kdb+/q represent nulls and infinities This is certainly pragmatic, although it breaks the math q type size q literal forms underlying integer value (encoding) ---------------------------------------------------------------------------------------------------------- short (h) 16-bit 0Nh / -0Wh / 0Wh null = -32768; -inf = -32767; +inf = 32767 int (i) 32-bit 0Ni / -0Wi / 0Wi null = -2147483648; -in", "context": "", "use_case": "", "switched_from": "", "story": "The largest number representable in 64 bits"}, {"id": 749746210, "item_id": 46859138, "url": "https://news.ycombinator.com/item?id=46859138", "by": "ranicic", "date": "2026-02-02", "version": null, "stance": "neutral", "quote": "internal kdb", "excerpt": "BMO Capital Markets | Software Engineer (Associate) | Toronto, Ontario, Canada | Full-time We\u2019re building and maintaining a quantitative investment strategy (QIS) calculation engine used across Global Markets. You will work closely with sales, trading and the structuring teams to implement the infrastructure required to calculate quantitative indices in an efficient and scalable manner. We are looking for an experien", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: Who is hiring? (February 2026)"}, {"id": 736436688, "item_id": 46027293, "url": "https://news.ycombinator.com/item?id=46027293", "by": "the_sleaze_", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "May be worth getting a head start on these", "excerpt": "I recently learned of Kdb+ and the associated ecosystem of financial tools. May be worth getting a head start on these, I understand these are the tools that the HFTs and the quants use. https://kx.com/products/kdb/", "context": "", "use_case": "Financial time-series analytics", "switched_from": "", "story": "Ask HN: Good resources to learn financial systems engineering?"}, {"id": 734330098, "item_id": 45895631, "url": "https://news.ycombinator.com/item?id=45895631", "by": "RodgerTheGreat", "date": "2025-11-11", "version": null, "stance": "recommend", "quote": "this is probably the most commercially viable dialect to learn, with the best educational materials", "excerpt": "ngn/k is a performant FOSS implementation of k6, but it has many constraints and limitations that may make composing large programs difficult. It may be the best dialect for tinkering and learning the language. https://codeberg.org/ngn/k oK is a slow browser-based FOSS implementation of k6, with fun bells and whistles like \"iKe\", a visual livecoding environment. ngn/k and oK have diverged a bit, but are largely simil", "context": "", "use_case": "learning Q/k commercially", "switched_from": "", "story": "Array-programming the Mandelbrot set"}]}