Engine Architecture

모든 쿼리 패러다임이 동일한 대수적 구조로 컴파일되는 계층 아키텍처. C++23으로 처음부터 구축된 레지스터 기반 가상 머신과 JIT 컴파일러.

System Architecture

클라이언트 프로토콜에서 영속 스토리지까지 5개 레이어. 각 레이어는 크로스 패러다임 최적화를 위해 설계되었습니다.

Client
PostgreSQL Wire ProtocolApache FlightSQL
Query Processing
SQL ParserQuery PlannerCost-Based OptimizerCVM Compiler
Execution
CVM InterpreterCopy-and-Patch JITVolcano IteratorVectorized ExecutorHybrid Executor
PostingList Operators
ANDORNOTTermPhraseRangeKNNBM25PageRankLog-Odds Fusion
Storage & Federation
Storage
Posting ListsClustered Term IndexHNSW IndexDoc ValuesLSM-Tree
Federation
MySQLPostgreSQLApache FlightSQL ServerAWS S3GCP Cloud StorageAzure Blob Storage

Unified Query Algebra

모든 패러다임이 동일한 대수적 인터페이스로 컴파일됩니다. 불리언 연산(합집합, 교집합, 여집합)이 패러다임 간 자유롭게 합성됩니다.

opOperator,  op.execute()PostingList\forall\, op \in \texttt{Operator},\; op.\texttt{execute}() \to \texttt{PostingList}

Relational SQL

ACID 트랜잭션과 Join, Aggregation, Window Function (ROW_NUMBER, RANK, LAG, LEAD), Recursive CTE, Subquery Unnesting. DPccp 알고리즘으로 최적 Bushy Join Tree 생성.

SELECT p.name,
       COUNT(*) AS order_count
  FROM products p
  JOIN orders o
    ON p.id = o.product_id
 WHERE o.created_at > NOW() - INTERVAL '30 days'
 GROUP BY p.name
 ORDER BY order_count DESC
 LIMIT 10;

Full-Text Search

BM25 및 Bayesian BM25 스코어링과 WAND/BMW safe pruning. MeCab 등 CJK 지원 포함 13종 토크나이저. 맞춤법 검사, 자동 완성, 동의어 확장. 사용자 정의 토크나이저 및 토큰 필터 지원.

SELECT title, _score
  FROM documents
 WHERE content @@ 'bayesian & probabilistic & ranking'
 ORDER BY _score DESC
 LIMIT 10;

Vector Search

HNSW 기반 ANN 검색. Cosine, Inner Product, L2 Distance 지원. 인덱스 기반 밀도비를 활용한 확률적 점수 보정으로 원칙적 하이브리드 융합.

SELECT title, _score
  FROM documents
 ORDER BY embedding <=> query_embedding
 LIMIT 10;

Graph Queries

Apache AGE 호환 그래프 연산을 SQL 테이블 함수로 구현. BFS/DFS 순회, 양방향 최단 경로, 멀티홉 최적화를 위한 LRU 인접 캐시.

SELECT *
  FROM cypher('social', $$
    MATCH (a:Person)-[:FOLLOWS*1..3]->(b:Person)
    WHERE a.name = 'Alice'
    RETURN b.name, b.role
  $$) AS (name TEXT, role TEXT);

여러 패러다임을 하나의 쿼리로

베이지안 텍스트 매칭, 벡터 유사도, 그래프 중심성, 관계형 필터링을 로그 오즈(log-odds) 융합을 통해 하나의 SQL 문으로 합성.

SELECT title, year, field, _score
  FROM papers
 WHERE fuse_log_odds(
         bayesian_match(title, 'attention'),
         knn_match(embedding, $1, 10),
         pagerank()
       )
   AND year >= 2019
 ORDER BY _score DESC
 LIMIT 5;

Cognica Virtual Machine

고성능 쿼리 실행을 위한 레지스터 기반 바이트코드 인터프리터와 계층적 JIT 컴파일.

Register-Based VM

16개 범용 + 8개 부동소수점 레지스터. 6가지 명령어 포맷에 걸친 256개 opcode. Computed Goto 디스패치로 10-15% 처리량 향상.

Copy-and-Patch JIT

사전 컴파일된 템플릿으로부터 네이티브 x86-64 및 ARM64 코드를 생성하는 스텐실 기반 JIT. 계층적 컴파일: Tier 0 인터프리터, 1K 실행 시 기본 JIT, 50K 실행 시 최적화 JIT.

Toolchain

크로스 플랫폼 JIT 개발을 위한 내장 디스어셈블러 및 스텐실 CPU 에뮬레이터. 브레이크포인트, 단계 실행, 실행 히스토리를 갖춘 완전한 디버거.

유연한 배포

애플리케이션이 필요한 곳 어디서나 Cognica를 실행할 수 있습니다.

서버 모드

PostgreSQL 와이어 프로토콜을 지원하는 독립형 데이터베이스 서버로 배포. PostgreSQL을 지원하는 모든 언어와 도구에서 연결 가능.

내장 모드

SQLite3나 DuckDB처럼 애플리케이션에 라이브러리로 직접 내장. 네트워크 오버헤드 없이 단일 프로세스로 동작.