• (nodebb)

    In addition to measuring days in "tables", I propose to measure months in "developers": surely no sane developer can stay in a crazy job like that for longer than a month.

  • Derek (unregistered)

    I had a similar Oracle experience. I needed to store some latitude and longitude and discovered Oracle had a perfect data type for it. It was right there on the database. I tried out the database type in a test environment -- it worked great -- but when I asked DBA to deploy it they said we weren't licensed for it and I just needed to rewrite my code using floating point numbers.

    If we're not licensed for it, why is it readily available in the environment? I suspect it's so people can slip up and then Oracle can audit them and charge them.

    Oracle sucks.

  • (nodebb)

    A table a day keeps performance away.

  • Duston (unregistered)

    Coders get paid per line of code, maybe the database designers get paid by the table?

  • Clive (unregistered)

    Yes, Oracle is that evil. There are features you haven't paid for, but aren't prevented from using, and they will charge you serious money if they catch you.

    I like the database (though I appreciate I might be an outlier there). But I will avoid dealing with the company as much as possible. See also Java...

  • RLB (unregistered)

    IYAM TRWTF is the final argument to convert().

  • King (unregistered)

    Every day is tableday!

  • Wyatt (unregistered)

    I'm pretty sure once upon a time table partitioning was a Expensive Edition only feature in Microsoft SQL Server.

  • Sauron (unregistered)

    I like that table naming convention. You can't go wrong by naming the tables data . It perfectly desribes the contents: data.

  • Sauron (unregistered) in reply to mynameishidden


  • Charles Shapiro (unregistered)

    I worked in a shop which did database work. We spent a lot of time writing ( or cutting//pasting//editing ) SQL queries which we ran only once or a couple of times. The lead's solution to this was to create a new directory for every day's work, so we had essentially a fresh workspace to start every day. This also preserved the previous day's ( month's, year's ) work so we could look back and understand what happened. It was brilliant.

  • (nodebb)

    Is it this Ayende? https://ayende.com/blog/

  • (nodebb)

    Oracle pulled a worse trick for me. We had to upgrade from version 11 to one of the most recent (iirc it was 19). When we first upgraded the dev instance, everything worked fine; dev instance was only accessed by engineers so basically little traffic. We had a staging db that was serving multiple test application server (~7/8), each with their own connection pool - "mostly" replicating production. We didn't have ephemeral environment but we kept these few environment so that any engineer could reserve as needed for test and UAT with product.

    Once the db was upgraded, everything felt fine but ... the next morning all staging instances were failing. Apparently we missed that on standard edition Oracle 12+ had introduced a "resource manager" that would throttle concurrent connections based on number of CPU (even in the cloud), while Oracle 11 could easily handle 100+ idle connection with no issues.

    There was no other way than upgrade to the Enterprise Edition - half a million euros of extra licence costs...

  • mihi (unregistered)

    For some of the extra Oracle Enterprise packages (like Spatial which I believe contains that indexable lat/long type), there are uninstall scripts available you can run on your test instances to not accidentally use the features. But dare you if you uninstall them on your prod instances, or suddenly some security updates (if you pay for them) will not install any longer. Using two decimal number types works great for storing lat/long (in my opinion better than floating point types, as the range will not reach 1.0e+10 or similar), but when querying for points within a rectangle or circle, the index (classic B-tree index) will only use one of the coordinates efficiently. Spatial indexes are like Spatial types, a separately licensable feature for the (already expensive) Enterprise Edition.

    Also, security updates for non-Linux platforms usually come out 1 to 1.5 months after the Linux ones...

  • Stuart (unregistered)

    Yeah. Oracle licensing is pure evil. Nothing is disabled. You're free to use whatever features you want. But the moment you use a feature that you haven't paid the licensing fees for, Oracle will slug you. There's no escaping that; regular audits are a requirement of an Oracle license.

    The core technology is good. I'm not going to pretend it isn't. But the licensing model is all about soaking the customer for as much money as Oracle can extract. One of my friends used to work for Oracle; he told me about their support arrangements. Once you have a significant amount of Oracle tech in your company, you can get a bundled support agreement, which is cheaper than support for each individual piece of tech. The catch is, that bundled support agreement has a "high watermark" clause. Once you have paid X dollars for support in a year under that contract, that support will never again cost less than that amount. Even if you reduce your usage of Oracle tech, your support costs will never fall, unless you eliminate Oracle tech from your company entirely.

    Any CIO who is not actively planning to move off any and all Oracle tech is not doing their job. Any company that brings in Oracle tech today is just begging to have their wallets filched at every opportunity. There are better options out there for the vast majority of use cases; PostgreSQL would be my first choice for a database, for example, unless there's a specific reason why something else has to be used. Even DB2 (IBM) would be higher on my list of choices than Oracle, and that's knowing that IBM is almost as bad as Oracle on the licensing and support front.

  • richarson (unregistered)

    Oracle's motto: There's a license for that!

  • Not a DBA (unregistered) in reply to Wyatt

    You're right - it used to be. And maintaining partitions used to be hard. There was an art to it, too.

    We set up a set of scripts to automatically create partitions, modify views where required, make the magic happen. Those jobs ran for a few years, and then the old (Oracle) DBA who, at first was a "No SQL Server in my shop" person, but, in the end, had to agree that it was fast and worked, and for the last five years, was a supporter, because she didn't have to do anything for this app, just throw a new virtual disk at it once a year left.

    The new DBA came in and said that the partitions had to go because it was expensive, hard to maintain, and just too hard for anyone to understand.

    When we pointed out that the last-changed dates on the jobs, SPs, and everything else to do with partitioning was five years ago, and there were 0 help desk tickets related to any of it, that was "besides the point - I don't understand it, so it has to go".

    I took that as a personal challenge, and when I pointed out to the CIO that 47% of the databases in the organisation were now SQL Server, and since the new head DBA didn't understand them, and they had to go, it looked like there was a now a lot of unplanned, but urgent work that meant we'd have to cancel some pretty important projects.

    You can guess what had to go.

  • LZ79LRU (unregistered)

    Why anyone willingly uses anything Oracle makes is beyond me. The best product in the world (and theirs aren't) are not worth it if the contract conditions suck which they do. And unlike Adobe there is actually viable competition to be had here,

  • SG (unregistered) in reply to Derek

    Pretty much. Oracle don't do stuff like using license keys to lock down stuff you've not paid for... which is occasionally convenient if you want to quickly test out something you're not licensed for, but it also means that there's nothing protecting you from accidentally using unlicensed features without realising it. If you use an Oracle stack, you need to be very familiar with the license terms, because giving you enough rope to hang yourself is absolutely their licensing strategy.

  • TheCPUWizard (unregistered)

    "removed any benefit of partitioning" -- Yes, it is most likely a WTF... BUT this (manual partitioning) does allow different tables to be stored on different physical disks - so that benefit is maintained, but at a potentially huge cost.

  • Officer Johnny Holzkopf (unregistered) in reply to molleafauss

    "Now, this is for an MS SQL database, which does not have any weird licensing around using partitions." - The fun of weird licensing begins when you upgrade your hardware in order to increase performance...

  • (nodebb) in reply to LZ79LRU

    Probably because the people making purchase decisions and the people suffering from them are not always the same or even communicating.

  • Shannon (unregistered) in reply to Wyatt

    Yes, some features (including partitioning, data compression, indexed views) come to mind as Enterprise edition only features in SQL Server. (If I remember correctly, they also all worked in Developer, so you could accidentally use the feature in the Developer version.)

    They have relaxed these constraints over the years - for example, "Prior to SQL Server 2016 (13.x) SP1, partitioned tables and indexes weren't available in every edition of SQL Server."

    However, Microsoft would never sue you for trying to use an Enterprise-only feature in the Standard. You just get an error message instead. (You can be in trouble if you ran Enterprise without an appropriate license, of course!)

  • (nodebb) in reply to molleafauss

    Apparently we missed that on standard edition Oracle 12+ had introduced a "resource manager" that would throttle concurrent connections based on number of CPU (even in the cloud)

    Thanks for the heads up. We're planning a DB upgrade to v19 in which we hope to be able to go from EE back to SE (the new database should have significantly less query load), but limiting the number of concurrent connections could be a problem for us; I've passed part of your remarks on to our DBA for investigation.

  • CharlesUlyssesFarleigh (unregistered) in reply to Stuart
    Comment held for moderation.
  • Shoppakistan (unregistered)
    Comment held for moderation.
  • Shoppakistan (unregistered)
    Comment held for moderation.

Leave a comment on “A Small Partition”

Log In or post as a guest

Replying to comment #:

« Return to Article