If, like me, you at some point need to support Oracle coming from Postgres there are a few annoyances you should be aware of: - No boolean type. Different folks will choose T/F chars, Y/N chars or 0/1 integers. - Strings are not nullable. An empty string and a null string are the same thing. - Date also has time. By default, you end up with some very annoying bugs. Expect to actually change the way some of your colum…
El Carro: Run Oracle Databases on Kubernetes
11–20 of 28 posts
Re: El Carro: Run Oracle Databases on Kubernetes
#12If, like me, you at some point need to support Oracle coming from Postgres there are a few annoyances you should be aware of: - No boolean type. Different folks will choose T/F chars, Y/N chars or 0/1 integers. - Strings are not nullable. An empty string and a null string are the same thing. - Date also has time. By default, you end up with some very annoying bugs. Expect to actually change the way some of your colum…
This is legit the biggest wtf I've read today, this is an over 20 year old enterprise db...
* Boolean: You don't really need it, just use 0/1 or Y/N (or J/N or O/N or whatever NLS equivalent of Y/N you want). You might have to implement a few different mappers for the same data type, so what?
* Strings: Semantically, a null string and an empty string are the same. You should be grateful the database works this way. All other DBs are wrong (you hear this a lot in Oracle land).
* Dates: Oh, just ignore the time if you don't want it. What do you mean, time zones? Add the correct offset in your software, you lazy XXX. BTW, we migrated to a server with another time zone, hope this doesn't impact you?
Now there are things that oracle is good at, mainly being trustworthy and scalable with your data, especially in clustered environments. But postgress is slowly but surely eating Oracle's niche here, and mysql has demonstrated customers will tolerate anything for lower costs. So their main value proposition today is that they are Enterprise Class, and all the big boys run Oracle so either join the club or get laughed at by the big boys.
Re: El Carro: Run Oracle Databases on Kubernetes
#13If, like me, you at some point need to support Oracle coming from Postgres there are a few annoyances you should be aware of: - No boolean type. Different folks will choose T/F chars, Y/N chars or 0/1 integers. - Strings are not nullable. An empty string and a null string are the same thing. - Date also has time. By default, you end up with some very annoying bugs. Expect to actually change the way some of your colum…
This is legit the biggest wtf I've read today, this is an over 20 year old enterprise db...
I was horrified how bad it was compared to Sybase back then.
Re: El Carro: Run Oracle Databases on Kubernetes
#14Earlier quoted context omitted.
A more appropriate comparison against Oracle database would be MS SQL Server, or even Postgres, no? MySQL/MariaDB is a different product class with different priorities, and MongoDB is a "NoSQL" product.
Mysql, Postgres and Oracle are closer than ever in functionality, but I don’t think postgres/mysql alone can compare to “Oracle”, but if you compare postgres+greenplum/citus/XL or mysql+Vittess to Oracle+RAC that’s pretty close, but you’ll probably need to choose from a few extras to get all the way there. The key difference is Oracle is doing it all in one monolithic stack.
Re: El Carro: Run Oracle Databases on Kubernetes
#15Earlier quoted context omitted.
This is legit the biggest wtf I've read today, this is an over 20 year old enterprise db...
What's really weird is the Stockholm syndrome of the Oracle users: They are proud of these limitations. I've heard all of these: * Boolean: You don't really need it, just use 0/1 or Y/N (or J/N or O/N or whatever NLS equivalent of Y/N you want). You might have to implement a few different mappers for the same data type, so what? * Strings: Semantically, a null string and an empty string are the same. You should be gr…
Re: El Carro: Run Oracle Databases on Kubernetes
#16Earlier quoted context omitted.
A more appropriate comparison against Oracle database would be MS SQL Server, or even Postgres, no? MySQL/MariaDB is a different product class with different priorities, and MongoDB is a "NoSQL" product.
Mysql, Postgres and Oracle are closer than ever in functionality, but I don’t think postgres/mysql alone can compare to “Oracle”, but if you compare postgres+greenplum/citus/XL or mysql+Vittess to Oracle+RAC that’s pretty close, but you’ll probably need to choose from a few extras to get all the way there. The key difference is Oracle is doing it all in one monolithic stack.
Re: El Carro: Run Oracle Databases on Kubernetes
#17Earlier quoted context omitted.
This is legit the biggest wtf I've read today, this is an over 20 year old enterprise db...
What's really weird is the Stockholm syndrome of the Oracle users: They are proud of these limitations. I've heard all of these: * Boolean: You don't really need it, just use 0/1 or Y/N (or J/N or O/N or whatever NLS equivalent of Y/N you want). You might have to implement a few different mappers for the same data type, so what? * Strings: Semantically, a null string and an empty string are the same. You should be gr…
I had a lot of fun troubleshooting an issue where a country was invaded in WW2 so it joined the German time, but its neighboring country was not. Hence, only in part of WW2 and only in summertime the time zones between these countries differ. Server was of course installed in the neighboring country and then delivered without altering the time zone because who cares about something that subtle. Turns out everybody born in these specific half years had their birthday shifted by one day.
Re: El Carro: Run Oracle Databases on Kubernetes
#18I'm curious about this for tangential reasons. Does it allow you to pass through actual raw storage and network devices to the container?
That said - it is entirely possible to run local storage for applications that provide their own replication. We run an LVM local storage provisioner for our in-cluster Postgres (orchestrated by Patroni). This gives us all sorts of snapshotting and resizing that you would find in network storage while having the performance of locally attached NVMEs
Re: El Carro: Run Oracle Databases on Kubernetes
#19Re: El Carro: Run Oracle Databases on Kubernetes
#20If, like me, you at some point need to support Oracle coming from Postgres there are a few annoyances you should be aware of: - No boolean type. Different folks will choose T/F chars, Y/N chars or 0/1 integers. - Strings are not nullable. An empty string and a null string are the same thing. - Date also has time. By default, you end up with some very annoying bugs. Expect to actually change the way some of your colum…
I'm just guessing but a CHAR would be 4 byte if it's Unicode and an INTEGER also right?
So you're telling me there's really no way to store just one or a few bits?