1 điểm bởi GN⁺ 2024-08-04 | 1 bình luận | Chia sẻ qua WhatsApp

Trường hợp sử dụng

  • Lưu trữ và phân tích dữ liệu thị trường lịch sử

    • Ví dụ: MS Horizon, Citi CloudKDB, UBS Krypton
  • Phân tích định lượng cục bộ

    • Ví dụ: phân tích thanh khoản, phân tích PnL, phân tích lợi nhuận theo từng khách hàng
  • Công cụ tính toán streaming thời gian thực

    • Ví dụ: streaming VWAP, streaming TCA
  • Điện toán phân tán

    • Ví dụ: tính margin hoặc phân tích rủi ro cho danh mục cổ phiếu

Giải pháp thay thế

Dữ liệu thị trường lịch sử - giải pháp thay thế cho kdb+

  • Công nghệ cơ sở dữ liệu mới

    • Clickhouse, QuestDB
  • Nhà cung cấp đám mây

    • Bigquery, Redshift
  • Dịch vụ dữ liệu thị trường

    • Hầu hết người dùng không cần "tốc độ" của kdb+
    • Hầu hết nền tảng nội bộ của các ngân hàng không tận dụng hết tốc độ của kdb+
    • Các đối thủ hiện nay cũng đã đủ nhanh

Kết quả dự kiến

  • kdb+ có thể giữ được khách hàng hiện tại, nhưng sẽ không giành được các công ty hạng hai muốn cloud-native hoặc một giải pháp khác

Phân tích định lượng cục bộ - giải pháp thay thế

  • Python
    • DuckDB, Polars, PyKX, dataframe/modin, v.v.

Kết quả dự kiến

  • DuckDB hoặc Polars sẽ thắng, vì chúng miễn phí

Streaming thời gian thực / điện toán phân tán

  • Điểm mạnh lớn nhất của kdb+ là kết hợp dữ liệu streaming và dữ liệu lịch sử trong một mô hình duy nhất
  • Tuy nhiên, cần người có nhiều kinh nghiệm, nếu không sẽ dễ trở nên rối rắm

Kết quả dự kiến

  • kdb+ sẽ không chiến thắng. Kafka đã chiếm được mindshare, còn flink/risingwave là những ngôi sao đang lên

Tóm tắt

  • kdb+ là một công nghệ đáng kinh ngạc, nhưng vẫn ở đúng mức như 15 năm trước

  • Các công ty mã nguồn mở tốt nhất đã lấy các ý tưởng của kdb+

    • Parquet/Iceberg là định dạng lưu trữ trên đĩa của kdb+
    • Apache Arrow là định dạng trong bộ nhớ của kdb+
    • Khái niệm log/replay/ksql của Kafka cũng tương tự
    • QuestDB, DuckDB, Clickhouse đều hỗ trợ asof join
  • Các đối thủ đã chuẩn hóa những phần tốt nhất của kdb+

    • Ví dụ: Snowflake, Dremio, Confluent, Databricks đều hỗ trợ Apache Iceberg/parquet
    • QuestDB, DuckDB, Python đều hỗ trợ parquet một cách native
  • KX cần làm bốn việc sau

    • Cung cấp phiên bản miễn phí và giấy phép có thể dùng với chi phí thấp
    • Làm cho sản phẩm cốt lõi trở nên xuất sắc
    • Giảm độ dốc học tập
    • Trở nên phổ biến hơn

Tổng hợp của GN⁺

  • kdb+ vẫn là một công nghệ mạnh mẽ, nhưng các đối thủ đang bắt kịp rất nhanh
  • Các công cụ miễn phí và mã nguồn mở đang ngày càng phổ biến, nên khả năng thị phần của kdb+ suy giảm là rất lớn
  • Để trở nên phổ biến hơn, kdb+ cần có phiên bản miễn phí, giảm độ khó học và củng cố sản phẩm cốt lõi
  • Các sản phẩm có tính năng tương tự gồm DuckDB, Polars, QuestDB

1 bình luận

 
GN⁺ 2024-08-04
Ý kiến Hacker News
  • TimeScale là một tiện ích mở rộng của Postgres, nên có thể dùng nguyên vẹn các tính năng SQL

    • Có khả năng nén theo dạng lưu trữ cột nên hoạt động rất nhanh
    • Đã có kinh nghiệm dùng trong ứng dụng tài chính, và có thể xử lý lượng dữ liệu lớn rất nhanh
    • Hỗ trợ trên Slack rất tốt, cá nhân thấy rất hài lòng
    • kdb đắt đỏ và ngôn ngữ của nó kém hiệu quả
  • Có trường hợp nghỉ việc chỉ sau 2 tuần vì trải nghiệm dùng kdb+

    • Thiết kế ngôn ngữ và việc debug đều bất tiện, quy ước code không có hoặc quá thiếu
    • Văn hóa công ty cũng là vấn đề, tài liệu cho mã nguồn không được viết tốt
    • Toàn bộ stack đã lỗi thời, và dùng cách sao chép dữ liệu từ qStudio sang Excel để vẽ biểu đồ
    • Điểm tích cực là không dùng Docker hay k8s mà triển khai trực tiếp lên server
    • kdb được dùng giống như một vũ khí hơn là một công cụ
  • Khả năng tích hợp theo chiều dọc của kdb+ là một ưu điểm

    • Một công nghệ có thể đảm nhiệm nhiều vai trò khác nhau
    • Có ngôn ngữ Q, tuần tự hóa dữ liệu và tính năng IPC nên có thể xây dựng hệ thống tùy biến
    • Tuy nhiên, vì kdb+ là độc quyền và đắt đỏ nên khó đưa vào các dự án mới
  • kdb+ ít được biết đến vì không có bản miễn phí

    • Đã có kinh nghiệm dùng kdb+ trong lĩnh vực tài chính, và thiết kế cùng sự đơn giản của nó giống với triết lý Unix
    • Sau khi rời ngành tài chính vẫn muốn tiếp tục dùng kdb+, nhưng vì không có bản miễn phí nên khá bất tiện
  • Có trường hợp ghét q/kdb+ đến mức tự phát triển ngôn ngữ riêng

    • Python hiện là thứ được dùng nhiều nhất
  • Có kinh nghiệm vận hành startup thành công bằng kdb+

    • Đã phải viết lại bằng FOSS để mở rộng đội ngũ
    • Cho rằng kx nên chuyển nền tảng sang mã nguồn mở
  • kdb+ thú vị nhưng giá quá đắt

    • Đang phớt lờ nhiều khách hàng tiềm năng
  • Một vài đính chính về ClickHouse

    • ClickHouse đã là mã nguồn mở từ năm 2016, và được phát triển từ năm 2009
    • ClickHouse có thể xử lý cả ba trường hợp sử dụng
    • ClickHouse là cơ sở dữ liệu SQL đầu tiên đưa ASOF JOIN vào năm 2019
  • Python hiện chiếm ưu thế, nhưng do nợ kỹ thuật nên khó chuyển sang nền tảng mới

    • Các dự án phát triển mới sẽ dùng Python
  • Câu hỏi về việc liệu có thể kiếm rất nhiều tiền với vai trò nhà phát triển kdb+

    • Vài năm trước từng có vị trí trả lương thường niên 1 triệu USD