Slashdot Mirror


Continuent To Bring Open Source DB Replication To the Oracle World

Robert Hodges, CTO of Continuent, has an interesting blog entry about a new approach to database replication that they are undertaking. The new approach aims to provide easier access to replication for low-end Oracle users in addition to the alpha offering they already have for MySQL. "It's not a coincidence that we chose to implement MySQL and Oracle replication at the same time. MySQL has revolutionized the simplicity and accessibility of databases in general and replication in particular. For example, MySQL users have created cost-effective read scaling solutions using master/slave replication for years. MySQL replication is not free of problems, but there is no question MySQL AB helped by the community got a lot of the basics really right. On the other hand, Oracle replication products offer state-of-the-art solutions for availability, heterogeneous replication, application upgrade, and other problems, albeit for high-end users. For example, Oracle Streams and Golden Gate TDM offer very advanced solutions to the problem of data migration with minimal downtime. The big problem with these solutions is not capabilities but administrative complexity and cost."

21 of 83 comments (clear)

  1. this does not match my experience by jacquesm · · Score: 3, Informative

    If there is one thing that really sucks in mysql it's replication, and no, they did not get it right.

    Even running top notch hardware about as redundant as you can get after running for a couple of months the master and slave can be out of sync.

    I think this is one of the major remaining issues with mysql.

  2. Re:MySQL + Oracle = MyOracle by Jellybob · · Score: 4, Insightful

    Isn't it Postgres?

  3. Re:MySQL + Oracle = MyOracle by I+cant+believe+its+n · · Score: 2, Insightful

    What does MySQL have that Oracle needs or would improve it? I can't think of anything - seriously. I'm not trying to troll, fill me in on where MySQL is better than Oracle.

    Price?

    --
    She made the willows dance
  4. Re:MySQL + Oracle = MyOracle by jellomizer · · Score: 3, Interesting

    MySQL is better for small Databases, Oracle is better for Big ones.
    (Small Databases consist of Millions of records, Big ones Billions) Installing Oracle for average Joe company is overkill, and huge overhead. That is why a lot of Oracle shops switched to Microsoft SQL, and MySQL.
    It would be nice to have a lot of the features of Oracle with ability to manage small databases.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  5. Re:MySQL + Oracle = MyOracle by stoolpigeon · · Score: 3, Interesting

    Oracle Express - 0$

    Yes - if you want more features, Oracle is expensive. Although that cost includes support. But that has nothing to do with his statement of a hybrid - unless you are saying the only thing that will be merged is cost.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  6. Re:Targeted to smaller shops. by jellomizer · · Score: 3, Interesting

    I am sure there is a huge market for Replication. Small Databases need to be rock solid too. Just because you may have a lot of data doesn't mean it isn't important or mission critical. Paying an extra $2000 for a server for a fail over is well worth the cost of your only SQL (Any Brand) server being down for a few hours to days.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  7. Re:Looks a bit slashvertisment-y by PinkPanther · · Score: 5, Interesting

    There are very good reasons to replicate (or at least synchronize) between disparate DB systems. For example, you have a LAMP website but want to feed it data from your backend ERP system. Another fantastic example is mobility, where you have a mobile database like SQL Anywhere on your PDA and/or laptop synchronizing to your enterprise DBs.

    --
    It's a simple matter of complex programming.
  8. Re:MySQL + Oracle = MyOracle by stoolpigeon · · Score: 2, Informative

    I'll have to respectfully disagree. I think Oracle brings numerous features to the table that MySQL doesn't have - and running a small database with Oracle does not come with a lot of overhead.
     
    I run a number of small oracle installs that use very little in the way of resources. So I'm not sure why you think Oracle can't manage small databases.
     
    I'm not a big fan of Oracle for a few reasons - but those mostly have to do with closed vs. open and some of their high-end stuff- specifically dealing with RAC. Dealing with straightforward, basic Oracle databases - small or large is dead easy and rock solid.
     
    I work with MySQL also. It's very nice, but I am unaware of any area where it exceeds Oracle from a technical perspective. I do like very much the fact that it is open software. But I see no gains for anyone with some kind of Oracle/MySQL hybrid.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  9. As always, the answer is 'It depends' by johnlcallaway · · Score: 3, Interesting

    It depends on what type of replication one needs. The simplest means of Oracle replication is to create another database somewhere else and simply copy the logs over and apply them. We have done that for years for one simple reason ... for databases that don't require 5 nines service, I don't want an 'up-to-date' copy.

    A major cause of database failures in my experience has been due to programmer or administrator error (i.e. program bug or someone typing truncate table wrong.) Creating scripts to copy the logs to another server as soon as they are created, and applying them after they are a few hours old, we maintain an environment where it only takes a few minutes to switch over and prevent the 'uh-oh' moments from corrupting both databases.

    We have found that the decision to switch over to a remote database takes time. No one wants to do it because then we have to copy that whole database back to the primary site eventually, and that takes a lot of effort and time. When we have a failure, someone is tasked at getting the remote database ready while the discussions are held whether or not to fix or fail-over.

    One benefit of this has been that when we have 'uh-oh' moments, the old data is still available and we can correct it, sometimes without the end-users even being impacted.

    So .. for all of you database admins out there, replication is possible without the fancy software *IF* you can write scripts, create a somewhat simple system to repoint to the new one (i.e. DNS), and can live with a few minutes of downtime a couple of times a year.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    1. Re:As always, the answer is 'It depends' by johnlcallaway · · Score: 3, Interesting

      No machine is 'up-to-date' as there is no such thing as instantaneous data transfers *unless* data is applied and committed to both machines at the same time. This is very costly outside of a local area. Before Oracle had replication services, we used this and were able to keep the remote machine (which was 2,000 miles away) within 5 minutes of the primary 95% of the time. It dawned on us one day how dangerous this was and changed it to not apply the logs for 60 minutes since it would only take us about 10 minutes to catch it up and switch it from stand-by, longer than it would take to decide to fail over and change DNS.

      I did not mean to imply this was the best solution for replication, only that if someone is using replication software for this type of purpose, i.e. disaster recovery, then this is a perfectly acceptable solution that probably will work for any database and does not require additional licenses *except* for the remote machine. Oracle allowed us to run the remote machine this way without a license since we did not use it in a production capacity.

      A backup solution??? I guess it is a backup of the primary, but many replicate machines are this way since 2-way replication difficulties often limits the usability of the remote server beyond read-only access. The data is never used to 'restore' the original machine, it is an exact, fully usable copy. If the primary machine crashed, the choices are to restore from tape, or make the remote machine the primary. The remote machine can serve as the production server for as long as is necessary. To restore the primary machine after the remote server has been used for an extended period, a backup of the remote has to be taken and applied to the primary. This can take a few days as the amount of data needed to be transferred is very high. A backup is taken to tape, overnighted, applied, and then additional log files are applied until the two are in sync and a point is reached where a controlled fail-back can occur.

      In fact, at one facility, we 'swapped' machines every 30 days to make sure they would function if one failed.

      --
      I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    2. Re:As always, the answer is 'It depends' by afidel · · Score: 2, Informative

      Those programmer/DBA screw ups should be totally recoverable in an Oracle shop. Between FRA and undo there's no way you should not be able to recover quickly.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  10. Re:MySQL + Oracle = MyOracle by stoolpigeon · · Score: 2, Interesting

    What's the long term cost of having a database run by somebody who doesn't know how to run a database?
     
    If nothing will ever be done that requires dba knowledge - then a ton of products will work and Oracle Express falls into that category - with SQL Server Express in a similar boat. (Though SQL Server is limited to a single OS.)
     
    I think people really overestimate what it takes to get Oracle installed and running. It's not that hard to do and their are vast resources available to help get one up and going. The learning curve comes as one starts to take advantage of features that aren't all that complicated but extremely powerful.
     
    I've seen people used to working on Oracle come to me with problems they have with a MySQL database they built for something. They love it until they have a problem. Then they come ask me to fix it, like we fix their mistakes they make in the Oracle database. Problem is, we can't because they haven't done the work to make it possible.
     
    Like any other product - MySQL is only as good as the people who have installed it and set it up.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  11. What is it with these names? by TheModelEskimo · · Score: 2, Funny

    Continuent? Continuent? Who thinks up this stuff? All I can think of is some suit explaining it. "We harness the synergistic energy of the word 'Continue' while simultaneously fulfilling our carnal, earthy ambitions by joining in sympathy with the Ents who will, perhaps in some future time or far-away land, form our products' user base."

  12. Re:MySQL + Oracle = MyOracle by leuk_he · · Score: 2, Informative

    if i read the oracle express license correctly

    " License Rights
    We grant you a nonexclusive, nontransferable limited license to use the programs for: (a) purposes of developing, prototyping and running your applications for your own internal data processing operations; "

    Note: Limited, Maybe even a time limit? Not sure.
    Note: Internal, that more or less excludes running it you web shop.

    Free as in beer, but very limited.

  13. Re:MySQL + Oracle = MyOracle by stoolpigeon · · Score: 2, Informative

    That's part a - then next part b says that the db can be distributed freely with the software. IANAL - but I would think it can be used as the back end for a web site.
     
    The limits listed below that in regard to amount of data, ram and processors are also pretty strict. I'm not an Oracle cheer-leader. But I do work with their products daily and I cringe when I see people say that MySQL or even PostgreSQL (which I absolutely love) are on par with Oracle. They aren't. They may be eventually but they are not there yet.
     
    That kind of started this whole discussion and then price came into it. That is really irrelevant to what started the thread - but even lumping that in Oracle does provide options - narrow as they may be.
     
    I'm done being an Oracle DBA in a few weeks - and my new job will have me working almost exclusively with FOSS products. I can't wait. But I've worked with both enough that I don't really have illusions about either and just hate to see assumptions that are wrong being tossed around about either.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  14. Re:MySQL + Oracle = MyOracle by Slashdot+Parent · · Score: 2, Informative

    What does MySQL have that Oracle needs or would improve it? I can't think of anything - seriously. I'm not trying to troll, fill me in on where MySQL is better than Oracle.

    Ease of use and cost.

    Sure, you think Oracle is easy, but you are an Oracle DBA. MySQL is trivially easy for a developer to set up and get running. I mean, 'apt-get install mysql-server' easy. I just typed 'apt-get install oracle' and, surprise, I have no Oracle. So Oracle is harder.

    Oracle is also obscenely expensive. Don't get me wrong--if you need it, it's worth every penny. But 3 of my last 4 clients could not stop bitching about the cost of Oracle licenses and Oracle DBAs, yet MySQL or PostgreSQL would have easily met their needs. (The 4th client, a massive financial institution, did not complain about the cost of Oracle licenses, and they definitely needed to be using Oracle.)

    My current client's largest database has only about 4 million records in it, but it has a simple, well-designed schema and queries are very cheap. Yet they have 4 Oracle DBAs, and god knows how many Oracle licenses. They have old Oracle instances where they pay per-CPU license fees on an ancient CPUs. There is no reason in the world they couldn't just retire those boxes, move the simple DBs to Postgres, and send those licenses back to Oracle. They'll never do that, but they could easily save a quarter million dollars per year if they would.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  15. Re:Looks a bit slashvertisment-y by rhodges · · Score: 3, Informative

    Keep watching. It won't be alpha for long. On the plus side we are being completely open about the development and will not deceive you about the true state of the software. Robert (the guy that wrote the original blog entry)

  16. Re:Looks a bit slashvertisment-y by NoddyK · · Score: 2, Interesting

    We replicate from Oracle to MySQL using redo-logs and a 143 line perl script. This has worked for about the last year, although there is a 15 minute delay in Oracle 9i, as there is no easy way to query online redo logs. All that changes when our data warehouse goes up to 10g, at that point we will get real time replication.

    The MySQL database is only 250gig, around 2.2 billion records, used for all our websites (read-only), while all update systems hit Oracle, the updates are fed to a single MySQL master, which then uses MySQL replication to replicate to the web farm. No need to validate data on the MySQL servers, as the Oracle box has already done that.

  17. Re:MySQL + Oracle = MyOracle by gbjbaanb · · Score: 2, Funny

    lol. like our old coding standards document. Initial page: "this document exists to ensure everything gets done correctly first time", version 7.

  18. Re:MySQL + Oracle = MyOracle by stoolpigeon · · Score: 2, Interesting

    Anyone can go to Oracle's web site and download the enterprise version of the database and install it. There is no activation or key necessary. Oracle can't do anything to your database.
     
    As you say - you are in violation of the license if you use it that. Also - when you pay it isn't just to license the software. It is for support. And without a current support contract, you can't call oracle support or log in to metalink for support, downloading patches, etc.
     
    More companies should handle these things the way that Oracle does.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  19. Re:MySQL + Oracle = MyOracle by WNight · · Score: 2, Insightful

    They don't enforce it, but they still place stupid arbitrary restrictions on what you can do.

    If you have PostgreSQL on a machine and clone it, you're always fine. Even if you clone and keep the original, even if you clone a single-CPU install onto a quad-CPU computer, etc.

    For a legit business ignoring their license isn't an option, you either do what they say or don't use their product.

    So, yes, unless there's something very specific that you need Oracle for, I'd recommend not using it. It *is* the high-end product, but few organizations really need it.