<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database on Nimbus</title><link>https://k-s-pavan-kumar.github.io/hugo-nimbus/tags/database/</link><description>Recent content in Database on Nimbus</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 10 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://k-s-pavan-kumar.github.io/hugo-nimbus/tags/database/index.xml" rel="self" type="application/rss+xml"/><item><title>Use PostgreSQL as the primary datastore</title><link>https://k-s-pavan-kumar.github.io/hugo-nimbus/adr/0001-postgresql-primary-datastore/</link><pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate><guid>https://k-s-pavan-kumar.github.io/hugo-nimbus/adr/0001-postgresql-primary-datastore/</guid><description>&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;We need a primary datastore for the new billing service. The team has
production experience with both PostgreSQL and MongoDB, and the data model
is relational (accounts, invoices, line items with foreign keys).&lt;/p&gt;
&lt;h2 id="decision"&gt;Decision&lt;/h2&gt;
&lt;p&gt;We will use PostgreSQL 16, managed via RDS, as the primary datastore for all
new services unless a specific workload has a strong document-store or
time-series justification.&lt;/p&gt;
&lt;h2 id="consequences"&gt;Consequences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Schema migrations require a formal review (see &lt;code&gt;docs/migrations&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;We standardize on one connection-pooling strategy (PgBouncer) across
services, simplifying on-call runbooks.&lt;/li&gt;
&lt;li&gt;Document-shaped data (e.g. audit logs) will need a deliberate exception
request rather than defaulting to Postgres JSONB columns.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>