Files
papers/lp-102-encrypted-sqlite-replication/sections/08-compatibility.tex
zeekay 4a753bb639 papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

66 lines
1.8 KiB
TeX

\section{Compatibility}
\label{sec:compat}
%% ============================================================
\subsection{Database Engines}
The replication standard is compatible with any SQLite-based database
engine:
\begin{table}[H]
\centering
\caption{Supported database engines.}
\label{tab:engines}
\begin{tabular}{@{}llc@{}}
\toprule
\textbf{Engine} & \textbf{Package} & \textbf{SQLCipher} \\
\midrule
Hanzo Base & \texttt{hanzoai/base} & Optional \\
PocketBase (upstream) & \texttt{pocketbase/pocketbase} & No \\
Raw SQLite & \texttt{mattn/go-sqlite3} & Optional \\
Turso / libSQL & \texttt{tursodatabase/libsql} & No \\
\bottomrule
\end{tabular}
\end{table}
The replicator operates at the WAL level and is agnostic to the
database engine. Any process that writes a SQLite WAL file is
supported.
\subsection{Object Storage Backends}
Any S3-compatible API is supported:
\begin{itemize}[nosep]
\item MinIO (\texttt{hanzoai/s3}) --- primary, deployed per cluster.
\item AWS S3 --- production fallback.
\item Google Cloud Storage (S3-compatible mode) --- for GKE clusters.
\item Cloudflare R2 --- for edge deployments.
\item Local filesystem --- for development (\texttt{type: file}).
\end{itemize}
\subsection{Lux Ecosystem Services}
The following services adopt this standard:
\begin{table}[H]
\centering
\caption{Ecosystem adoption.}
\label{tab:adoption}
\begin{tabular}{@{}llll@{}}
\toprule
\textbf{Service} & \textbf{Databases} & \textbf{Sync Interval} &
\textbf{Snapshot Interval} \\
\midrule
ATS & per-org (500+) & 1\,s & 1\,h \\
Broker & per-org & 1\,s & 1\,h \\
Transfer Agent & per-org & 1\,s & 30\,min \\
IAM & single & 5\,s & 1\,h \\
KMS & single & 1\,s & 15\,min \\
Insights & per-org & 10\,s & 6\,h \\
\bottomrule
\end{tabular}
\end{table}
%% ============================================================