Alignment check

Started by Marthin Laubscheralmost 2 years ago7 messagesgeneral
Jump to latest
#1Marthin Laubscher
postgres@lobeshare.co.za

Hi,

I don’t intend dissing or plugging anyone’s efforts or start a flame war, but I’d like to get a sense of how the PostgreSQL community feels about:
a) YugabyteDB, and
b) PostgreSQL on Kubernetes.

For my application I’m deeply vested in Kubernetes as a pathway to being cloud-agnostic and I have looked at YugabyteDB because it matches my application’s (distributed) architecture more closely.
But not all the ways to run PostgreSQL on Kubernetes are created equal, and YugabyteDB is really far behind on versions and do not support extensions in a way that’s useful to me.

So seeing that I’ve taken the plunge to join the mailing lists at least I’d love to hear any and all feedback on those two topics from the these parts of the woods.

 --- Thanks for your time – Marthin Laubscher
#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Marthin Laubscher (#1)
Re: Alignment check

On 6/27/24 09:07, Marthin Laubscher wrote:

Hi,

I don’t intend dissing or plugging anyone’s efforts or start a flame
war, but I’d like to get a sense of how the PostgreSQL community feels
about:
a) YugabyteDB, and
b) PostgreSQL on Kubernetes.

For my application I’m deeply vested in Kubernetes as a pathway to being
cloud-agnostic and I have looked at YugabyteDB because it matches my

And substituted a single platform dependence.

application’s (distributed) architecture more closely.
But not all the ways to run PostgreSQL on Kubernetes are created equal,
and YugabyteDB is really far behind on versions and do not support
extensions in a way that’s useful to me.

Which now leads you to above.

So seeing that I’ve taken the plunge to join the mailing lists at least
I’d love to hear any and all feedback on those two topics from the these
parts of the woods.

--- Thanks for your time – Marthin Laubscher

--
Adrian Klaver
adrian.klaver@aklaver.com

#3Marthin Laubscher
postgres@lobeshare.co.za
In reply to: Adrian Klaver (#2)
Re: Alignment check

On 2024/06/27, 19:04, "Adrian Klaver" <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:

And substituted a single platform dependence.

Even bare metal can lock you in without some abstraction layer between your code and the hardware. It's true that Kubernetes is a "single platform" but it provides the same facilities in all of its guises from bare metal implementations to what you can rent on demand from public clouds. I've made peace with that being about as cloud-agnostic as I can realistically achieve.

Which now leads you to above.

To me that's a good thing. I've got no time for puristic idealism. It's a pragmatic choice which always involve compromises. "Compromise knowingly", an old manager of mine used to say.

Yugabyte, if I did go with it, would have been a tough choice because it would lock me into them as database vendor which would only make sense if it unlocked a massive performance upside. For all intents and purposes I'm already locked into PostgreSQL as my application's database because it's reliant on a custom extension like no other database would let me do. But single database isn't single vendor, as long as it's open source. If YugabyteDB did support my extension (I tried but they won't consider for their DBaaS/Managed/Yugabyte Anywhere/Yugabyte Aeon commercial product built on top of an old version of PostgreSQL) it would have meant that in a pinch I could rent additional capacity from their commercial offering while I expand my own points of presence. That kite's not going to fly though, so I'm back to dealing with all of the data distribution logic in my application layer itself.

So when you're done trolling me and my choices, feel free to comment on the actual question.

#4Ron
ronljohnsonjr@gmail.com
In reply to: Marthin Laubscher (#3)
Re: Alignment check

On Thu, Jun 27, 2024 at 1:26 PM Marthin Laubscher <postgres@lobeshare.co.za>
wrote:
[snip]

So when you're done trolling me and my choices,

Adrian didn't start this "conversation".

feel free to comment on the actual question.

YB says they are almost finished updating their system to the PG 15 (not
sure which point release) codebase; it could already be in beta.

Maybe your extension will work on the new version.

#5Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Marthin Laubscher (#3)
Re: Alignment check

On 6/27/24 10:26, Marthin Laubscher wrote:

On 2024/06/27, 19:04, "Adrian Klaver" <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:

And substituted a single platform dependence.

Even bare metal can lock you in without some abstraction layer between your code and the hardware. It's true that Kubernetes is a "single platform" but it provides the same facilities in all of its guises from bare metal implementations to what you can rent on demand from public clouds. I've made peace with that being about as cloud-agnostic as I can realistically achieve.

Which now leads you to above.

To me that's a good thing. I've got no time for puristic idealism. It's a pragmatic choice which always involve compromises. "Compromise knowingly", an old manager of mine used to say.

Yugabyte, if I did go with it, would have been a tough choice because it would lock me into them as database vendor which would only make sense if it unlocked a massive performance upside. For all intents and purposes I'm already locked into PostgreSQL as my application's database because it's reliant on a custom extension like no other database would let me do. But single database isn't single vendor, as long as it's open source. If YugabyteDB did support my extension (I tried but they won't consider for their DBaaS/Managed/Yugabyte Anywhere/Yugabyte Aeon commercial product built on top of an old version of PostgreSQL) it would have meant that in a pinch I could rent additional capacity from their commercial offering while I expand my own points of presence. That kite's not going to fly though, so I'm back to dealing with all of the data distribution logic in my application layer itself.

So when you're done trolling me and my choices, feel free to comment on the actual question.

Not trolling just pointing out what you described above. Sometimes
simple is not and you end up going through all sorts of contortions to
stick to the plan. Just an observation take it or leave as you like.

--
Adrian Klaver
adrian.klaver@aklaver.com

#6Tomas Pospisek
tpo2@sourcepole.ch
In reply to: Marthin Laubscher (#1)
Re: Alignment check

On 27.06.24 18:07, Marthin Laubscher wrote:

I don’t intend dissing or plugging anyone’s efforts or start a flame
war, but I’d like to get a sense of how the PostgreSQL community feels
about:
a) YugabyteDB, and
b) PostgreSQL on Kubernetes.

For my application I’m deeply vested in Kubernetes as a pathway to being
cloud-agnostic and I have looked at YugabyteDB because it matches my
application’s (distributed) architecture more closely.
But not all the ways to run PostgreSQL on Kubernetes are created equal,
and YugabyteDB is really far behind on versions and do not support
extensions in a way that’s useful to me.

Having no experience with it I can't comment on YugabyteDB. With respect
to PostgreSQL on Kubernetes there are various solutions on how to run
it, some of which are quite mature - that is, they have been around for
quite some time, are used heavily and have a healthy maintenance
community (see f.ex. postgres-operator [1]https://github.com/zalando/postgres-operator/).

One IMHO problematic aspect of running postgres in one or more pods is
that running a postgres cluster is already demanding as is. When a
postgres cluster goes awry then there will be work awaiting you to get
it all backup up and running without messing up user data... using a
solution like postgres-operator puts another additional layer and
wrapper around postgres so if things do not run well there's even more
systems you have to handle. It might or might not help that you have
additional layers doing stuff to the postgres service:

- pro: the additional software layers can contain more operational
knowledge than you have and handle and fix operations better than you
know how to do
- contra: or the additional software layers can hide, obscure, obstruct
the lower layers and interfere with you trying to debug and fix stuff.

Backups and a tested procedure to get things back up and running from
scratch can be useful then.

All that said, from operational experience: postgres by itself is very
robust in taking care of preserving your data, so despite everything
written above, usually you have to be messing up things **really hard**
to make postgres lose data.

*t

[1]: https://github.com/zalando/postgres-operator/

PS: Thanks to all of you that are taking care, that postgres is caring
so well about the user's data!

#7Michael Nolan
htfoot@gmail.com
In reply to: Marthin Laubscher (#1)
Re: Alignment check

I don't have any direct experience with Yugabyte (the databases I work
with are way too small to be on Yugabyte) but my older son does work
for them as an SRE, sometimes remotely when he's visiting us, so we've
talked about it a bit. (It's actually the first time in 20 years I've
had much of a clue about what he's working with.)

On Thu, Jun 27, 2024 at 11:08 AM Marthin Laubscher
<postgres@lobeshare.co.za> wrote:

Show quoted text

Hi,

I don’t intend dissing or plugging anyone’s efforts or start a flame war, but I’d like to get a sense of how the PostgreSQL community feels about:
a) YugabyteDB, and
b) PostgreSQL on Kubernetes.

For my application I’m deeply vested in Kubernetes as a pathway to being cloud-agnostic and I have looked at YugabyteDB because it matches my application’s (distributed) architecture more closely.
But not all the ways to run PostgreSQL on Kubernetes are created equal, and YugabyteDB is really far behind on versions and do not support extensions in a way that’s useful to me.

So seeing that I’ve taken the plunge to join the mailing lists at least I’d love to hear any and all feedback on those two topics from the these parts of the woods.

--- Thanks for your time – Marthin Laubscher