| The Basic Unit |
A row in a table |
An account — a fixed chunk of on-chain storage tied to a public key |
| Who Owns It |
The company running the database |
The keypair holder. Period. No admin override. No "forgot password." |
| How You Prove Identity |
Username + password (stored and verified by the server) |
Cryptographic signature with your private key — math proves you, not a middleman |
| How Data is Stored |
Flexible schemas, columns, data types — ALTER TABLE whenever you want |
Raw bytes. You decide the structure. The chain just holds the blob. |
| Storage Cost |
Usually a flat subscription or server cost |
You pay rent in SOL proportional to how many bytes you store. No free lunch. |
| Who Can Write to It |
Anyone the app gives write permission to |
Only the account's owner program can modify data. Not even you directly — your keypair just authorizes it. |
| Deleting Data |
DELETE FROM table WHERE id = x |
Close the account, reclaim the rent. The data is gone, the SOL comes back. |
| Relationships Between Data |
Foreign keys, JOINs, relational links |
Accounts reference other accounts by their public key — no JOINs, just addresses |
| Who Controls the Schema |
The DBA or backend developer |
The program (smart contract) that owns the account defines what the bytes mean |
| Availability |
Depends on your infra — can go down |
Global, always-on, no downtime, no region failover needed |
| Access Control |
Role-based (admin, read-only, write, etc.) |
Binary — you either have the private key or you don't. No roles, no ACLs. |
| Querying Data |
SQL — SELECT * FROM users WHERE ...
|
Fetch by public key, or use getProgramAccounts to filter by data layout |
| Transaction Model |
ACID transactions, rollbacks, savepoints |
Atomic transactions — everything succeeds or nothing does. No partial writes. |
| Who Hosts It |
You, AWS, GCP, or a database provider |
Every validator on the Solana network simultaneously |
| Mutability |
Mutable by default — update anytime |
Mutable or immutable — programs can be marked non-upgradeable (trustless by design) |
| The "Table" Equivalent |
A table with rows of the same shape |
Accounts owned by the same program — same data layout, different addresses |
| Cost to Read |
Usually free (infra cost aside) |
Free — reading accounts costs no SOL |
| Backups |
Your problem (snapshots, replication) |
The blockchain is the backup — replicated across thousands of validators |