Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu

Hệ thống sử dụng PostgreSQL 16 với TimescaleDB cho dữ liệu thị trường dạng chuỗi thời gian.

Công nghệ

Thành phầnCông nghệMục đích
Database chínhPostgreSQL 16 + pgcryptoDữ liệu quan hệ, mã hóa
Time-seriesTimescaleDBOHLCV, analytics
CacheRedis 7Session, rate limit, real-time
QueueBullMQ (Redis)Xử lý bất đồng bộ

Mô hình dữ liệu chính

Users & Auth

  • User — Thông tin người dùng, preferences, 2FA
  • UserSession — Quản lý phiên đăng nhập
  • ExchangeConnection — Kết nối sàn giao dịch (mã hóa AES-256-GCM)

Giao dịch

  • Signal — Tín hiệu giao dịch (direction, entry, SL/TP, confidence, AI reasoning)
  • TradePlan — Kế hoạch giao dịch (entry type, quantity, leverage)
  • TradeExecution — Lệnh đã thực thi trên sàn (fill price, fee, exchange)
  • Position — Vị thế mở/đóng (PnL, liquidation, margin)

Phân tích & AI

  • AiAnalysis — Kết quả phân tích AI (model, confidence, features, reasoning)
  • AiPrompt — Lưu vết prompt AI cho audit

Subscription & Billing

  • Subscription — Gói dịch vụ (tier, status, provider, amount)
  • BillingInvoice — Hóa đơn thanh toán

Khác

  • JournalEntry — Nhật ký giao dịch
  • AnalyticsSnapshot — Ảnh chụp chỉ số hiệu suất
  • BacktestRun / BacktestTrade — Kết quả backtest
  • ContentItem — Bài viết phân tích thị trường
  • AuditLog — Nhật ký kiểm toán
  • Notification — Thông báo người dùng

Row-Level Security (RLS)

PostgreSQL RLS được bật cho multi-tenant:

  • Người dùng chỉ thấy dữ liệu của chính họ
  • Admin có quyền xem toàn bộ dữ liệu
  • Super admin có quyền quản trị hệ thống

TimescaleDB Hypertables

Dữ liệu thị trường được lưu trong hypertables:

  • market_data.ohlcv — Nến OHLCV cho tất cả symbols
  • analytics.performance — Chỉ số hiệu suất theo thời gian Hypertables tự động partition theo thời gian và hỗ trợ continuous aggregates cho báo cáo.