AlloyDB for PostgreSQL
cloud.google.com
cloud.google.com
Compute: $15,000 of usage, equivalent to at least 125 vCPUs and 1,000 GBs of RAM in us-central1
Storage: $650 of usage, equivalent to at least 2 TB in us-central1"
Hadn't seen this mentioned anywhere yet, but looks like it's basically free for most use cases while it's in preview. The pricing otherwise does seem a bit excessive. For the absolute minimum compute/memory resources in an HA setup, you're looking at a minimum ~$120/month. Non-HA is half that. But that's exactly 1 vCPU and 8 GB RAM per instance. If you're curious, max cost per month based on the constraints of the VM's that run the service is about $15k/month in a minimum HA setup, not excluding storage and egress costs.
If you need a transactional DB that's fine, but idk that still seems kinda pricey to me. If you can get away with it, it still makes much more sense to try and use BigQuery, append mostly, and keep your queries efficient.
[1]: https://cloud.google.com/blog/products/databases/alloydb-for...
- Citus columnar storage for Postgres, now owned by Microsoft
- Amazon Aurora PostgreSQL compatibility layer
- Timescale hypertables
AlloyDB Seems better compared to Aurora, and they seem to share a significant amount of design principles with log-shipping, but now with an extra caching layer at or near the database instance.
As for the 'columnar' features, from the release post it seems like AlloyDB does not specifically store the data at rest in a columnar format, but transforms the rows into columnar for analytical queries (but I'm not sure about that). That indeed improves performance of certain classes of queries.
The Citus team also had a columnar data storage extension that's finally more production ready and Timescale created their own implementation by using columnar data but still storing it in the default rowstore and handling the differences in the query layer.
Aurora Postgres and AlloyDB are fundamentally the same thing and involve taking the "top" portion of actual PostgreSQL (wire protocol, parser, query planner, etc) and attaching it to their own rebuilt storage layer. Since storage is the bottleneck, they can scale that out using their cloud architecture and make it seamless to the DB compute layer on top. Other open-source databases like Yugabyte also follow this approach with their own data layer implementation to add distribution and replication.
There are still some fundamental limitations with this approach which is why you still have the concept of instances and primary/replicas instead of one massive distributed instance like Spanner, but most customers want faster/scalable Postgres rather than shifting to a proprietary DB.
vCPUs $48.24 / vCPU month
Memory $8.18 / GB month
Regional cluster storage $0.3 / GB month
+ network pricing
Aurora r6g instances are 1 vCPU per 8GB memory at $0.12978 per vCPU hr. The equivalent on AlloyDB is $0.15568
Aurora x2g instances are 1 vCPU per 16GB memory at $0.1885 per vCPU hr. The equivalent on AlloyDB is $0.24528
Given the additional memory/cache characteristics and the 2x performance claims, I'm guessing you'll want to go memory heavy, so it _might_ not be terrible to say that a 2 vCPU/16GB Aurora instance ($0.26/hr) may perform similarly to a 1 vCPU/16GB AlloyDB instance ($0.24528/hr).
Storage is cheaper on AlloyDB and data transfer likely is as well.
AlloyDB is 0.30$/GB/month Aurora is 0.10$/GB/month
Where does Aurora gain 0.20$/GB/month in storage costs?
However, I/O accounts for far more of our cost on Aurora than storage. It's likely that more than offsets the increased storage cost on AlloyDB.