Slashdot Mirror


How To Set Up A Load-Balanced MySQL Cluster

hausmasta writes "This tutorial shows how to configure a MySQL 5 cluster with three nodes: two storage nodes and one management node. This cluster is load-balanced by a high-availability load balancer that in fact has two nodes that use the Ultra Monkey package which provides heartbeat (for checking if the other node is still alive) and ldirectord (to split up the requests to the nodes of the MySQL cluster)."

127 comments

  1. sounds cool, but MAJOR drawbacks! by Anonymous Coward · · Score: 1, Interesting

    from the article:

    "All data is stored in RAM! Therefore you need lots of RAM on your cluster nodes. The formula how much RAM you need on ech node goes like this:

    (SizeofDatabase × NumberOfReplicas × 1.1 ) / NumberOfDataNodes

    So if you have a database that is 1 GB of size, you would need 1.1 GB RAM on each node!

    - The cluster management node listens on port 1186, and anyone can connect. So that's definitely not secure"

    1. Re:sounds cool, but MAJOR drawbacks! by Jamesday · · Score: 4, Interesting

      The sort of thing people use the MySQL Cluster storage engine for include session management and telecoms. That data tends to be of modest size, even for a company with many millions of customers. If you don't mind losing the data if there's a power failure longer than your UPS life you can use the Memory (Heap) storage engine instead of Cluster. You can often back that up wth triggers and reload in a startup script.

      The RAM only bit will go away once MySQL 5.1 is released. It's currently in early beta. It doesn't mean you lose your data if there's a power failure; the data is backed up to disk regularly.

    2. Re:sounds cool, but MAJOR drawbacks! by mukund · · Score: 1

      Doesn't the cluster engine in 5.0 have the capacity to write the transaction log to a file on disk?

      --
      Banu
    3. Re:sounds cool, but MAJOR drawbacks! by Anonymous Coward · · Score: 0

      this article sound exactly like the one I read in sysadmin magazine last month. plagiarism FTW?

    4. Re:sounds cool, but MAJOR drawbacks! by kpharmer · · Score: 3, Informative

      > The RAM only bit will go away once MySQL 5.1 is released. It's currently in early beta. It doesn't
      > mean you lose your data if there's a power failure; the data is backed up to disk regularly.

      Seems backwards, but this is probably because mysql bought a product and has had to figure out how to bolt persistence onto it. A much simpler approach is to go the direction of most commercial databases: provide fine-tuned memory controls that easily ensure that the most-used data is kept in memory.

      In this scenario (with a database like db2 or oracle) you simply organize tables into tablespaces, dedicate however much memory you want to each tablespace. If you want a table to live in memory - just give it enough memory and it will. If a different table is 100 GB in size, then give it as much memory as you want and the database will manage the memory cache accordingly.

      With a solution like the above you don't need completely separate products, but instead see clustering, in-memory databases, and reliable persistence as all just different aspects of a robust and mature database.

    5. Re:sounds cool, but MAJOR drawbacks! by Jamesday · · Score: 3, Informative

      Cluster was designed for the telecoms case where you need to authenticate your subscriber and verify that they are entitled to make a call now even if they haven't made a call for a month, doing it in the same time window as the other calls. Also to scale out to as many servers as it takes to handle either load or data volume while delivering that predictable real-time performance. In a non-telecoms case, one user is capturing in real time performance data from thousands of vehicles for analysis, exploiting the write rate scaling and reliability.

      You can get some of that by allocating data space to RAM on one server but that doesn't get you all of Cluster's properties. Cheaper if you can use the approach you gave, of course, just doesn't do the job for some situations. Same for the Memory engine approach I outlined - doesn't get you all Cluster provides, but is enough for some situations.

      Like the other MySQL storage engines, you don't use the Cluster engine if you don't need its properties. It's a pick the right engine for the job situation.

    6. Re:sounds cool, but MAJOR drawbacks! by emurphy42 · · Score: 1
      The cluster management node listens on port 1186, and anyone can connect. So that's definitely not secure"
      So you need a firewall. Big whoop. In fact, the above is an incomplete quote from TFA, here's the rest:
      ", and therefore you should run your cluster in an isolated private network!"
  2. 'Ultra Monkey'? by Anonymous Coward · · Score: 5, Insightful

    One of the major problems with a number of useful open source projects is that their names are terrible for the corporate environment. This is a perfect example of such a project. I sure wouldn't want to pitch the use of this software to a CTO or CIO, even if it was perfect for our database cluster, just because it is called 'Ultra Monkey'. That's just not a professional name, and this product will likely not be taken seriously.

    1. Re:'Ultra Monkey'? by kryten_nl · · Score: 4, Insightful

      So? Call it the "U.M. system".....

      Problem solved.

      --
      For the perfect anti-Unix, write an OS that thinks it knows what you're doing better than you do and let it be wrong.
    2. Re:'Ultra Monkey'? by Conanymous+Award · · Score: 4, Funny

      But, imagine a Beowulf Cluster of Ultra Monkeys...

    3. Re:'Ultra Monkey'? by Mr.Dippy · · Score: 2, Funny

      imagine a Beowulf Cluster of Ultra Monkeys running Breezy Badger with a Hooray Hedghog backup...

      --


      -Dipster
    4. Re:'Ultra Monkey'? by wfberg · · Score: 1

      One of the major problems with a number of useful open source projects is that their names are terrible for the corporate environment. This is a perfect example of such a project. I sure wouldn't want to pitch the use of this software to a CTO or CIO, even if it was perfect for our database cluster, just because it is called 'Ultra Monkey'. That's just not a professional name, and this product will likely not be taken seriously.

      Of course, since it's open source there's nothing to prevent you from renaming it.

      And let's not forget there are plenty of stupid names for succesful, commercial software. Like "Oracle" - an oracle being an ancient greek priestess high on volcanic fumes who pulls stuff out of her ass - for a database - meant to reliably store information, not make it up. Or "Lotus Notes", which has nothing to do with making notes (and e-mails are called "memos" in Notes), and nothing to do with flowers, either. Or the sophomorically named "COOL:GEN" programming language. It's like, really cool, and like, professional. Or the way how "excel" is spelled with only one L - and imagine what amateurish hubris it would be to name your software "excel" to begin with; the only reason we don't bat an eyelid is because it's become so entrenched.

      I'm sure this thread will devolve into a shouting match of the most inane names for software (and I'd like to encourage this ;-)).

      --
      SCO employee? Check out the bounty
    5. Re:'Ultra Monkey'? by Eunuchswear · · Score: 2, Insightful

      Insightful?

      What is all this shit whining about names of "open source" (bleurgh) projects?

      I am the fucking CTO. I couldn't give a shit what the name of the product is. I want to know if it works.

      "Professional name"?

      --
      Watch this Heartland Institute video
    6. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 1, Funny

      So, your business card reads "fucking CTO?"

    7. Re:'Ultra Monkey'? by caluml · · Score: 1

      Yeah, I mean, Google. Haha. What a bunch of losers they must be. Oracle? Heh. Red Hat. Terrible.

    8. Re:'Ultra Monkey'? by niteice · · Score: 1

      Uh, there's only 1 'L' in the word "excel".

      --
      ROMANES EUNT DOMUS
    9. Re:'Ultra Monkey'? by Reality+Master+101 · · Score: 4, Insightful
      And let's not forget there are plenty of stupid names for succesful, commercial software. [snip bad examples]

      You seem to be confusing "literal names" with "good names". What makes a good name isn't that it literally means what it does, it's that it 1) sounds good, and 2) doesn't have negative connotations, and 3) isn't hard to say. It's a bonus if it even vaguely resembles what it does. Lotus Notes, Oracle and Excel all have vague connotations of what they do, but more importantly, there is nothing offensive about them, and they're easy to say and remember.

      Compare to some of the popular names in Open Source. GIMP. Gnu (Gah-nu, the absolutely STUPIDEST name and pronounciation ever invented, and that goes for all their programs with the 'g' prefix). Ultra Monkey is right in line with traditional stupid naming.

      --
      Sometimes it's best to just let stupid people be stupid.
    10. Re:'Ultra Monkey'? by Eunuchswear · · Score: 1, Troll

      No, my business card hasn't yet learned to read. I have an easily understandable pictogram.

      --
      Watch this Heartland Institute video
    11. Re:'Ultra Monkey'? by dascandy · · Score: 1

      Just imagine infinite ultra monkeys typing away at typewriters... What a Shakespearian outcome that would have!

    12. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      I work for a Fortune 500 company which has a fairly signifigant IT consulting arm. A few of my coworkers just finished doing some basic performance testing (for research purposes) using a cluster with two storage nodes, a single master, and four client nodes. In a little while, they're going to be tearing it down to see what happens when we run the storage nodes on quad servers with 6 gigs of ram.

      Some of us in the corporate world can see past goofy names.

    13. Re:'Ultra Monkey'? by caffeination · · Score: 0, Troll
      I agree 100% that Gnu is a completely shit name. I think Stallman & Friends would have had much more success in their little name campaign with a better name.

      But it wasn't invented, it's a wildebeest. What they did tack on, unbelievably, is the crappy pronunciation.

      That's right, they found the worst word in the world, took a dump on its pronunciation, and then demanded that we prefix Linux with it. Ha! "Let me know how that works out for you".

    14. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      One of the major problems with a number of useful open source projects is that their names are terrible for the corporate environment. This is a perfect example of such a project. I sure wouldn't want to pitch the use of this software to a CTO or CIO, even if it was perfect for our database cluster, just because it is called 'Ultra Monkey'. That's just not a professional name, and this product will likely not be taken seriously.

      Not necessarily. The company I work for supplies a system to a fairly major organisation which might be considered either a governmental body, or a public service. Ultramonkey is part of the solution. It is named in the SLA under the software definitions. The only question was what it was. The explanation of load balancing software was enough.

    15. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      Um, none of those are particularly bad names.

      "Ultra Monkey" sounds like the author made it up in between fart jokes. It'd be nice to be able to suggest it without feeling like a 9 year old.

      I'm not saying it's a bad thing, but load balancing database clusters are usually only necessary for really big applications, usually made by really big companies. These are people who use Oracle. It's hard enough to convince them to use MySQL. Naming the load balancer "Ultra Monkey" just makes it that much harder.

    16. Re:'Ultra Monkey'? by moro_666 · · Score: 1

      Wouldn't be so sure at this point, they are using 4 machines to load-balance a mysql server with 2 storage points ? Perhaps the ultra monkey is a good name for it ...

        Is it just me or does it seem a bit bad idea in most cases where the data amount is small but traffic is high? The latencies created all over this ultra monkey setup will make it slow, if compared to one smtp box with 2 cpu's and a really good raid card in it, attached to 15k rpm scsi disks, i don't think there's much of a difference in performance for that case (and little data, lots of interaction is the most common thing that you meet with mysql). As for failover, multiple machines sure look great, but right now this scheme here seems to depend on 1 management node, if that one falls down, nothing works and 3 machines stand around scratching their head ? Maybe 2 management nodes and 4+4 machines for loadbalancing/sql nodes would have more impact ? Machines really don't cost much today, having downtime is much more expensive.

      People who need it, probably already know how to it. The ones who can't, can makes things even worse.

      Picked up some notes from the mysql doc associated with it (available on http://dev.mysql.com/doc/refman/5.0/en/mysql-clust er-faq.html)

      * innodb and myisam storage engines not supported
      * to add one node, whole cluster has to restart
      * fulltext doesn't work
      * stuff stored in memory
      * transactions are kept to some level, so a massive power failure doesn't really kill you (it gives you the rope)
      * The NDB engine does not support foreign key constraints. As with MyISAM tables, these are ignored.
      * you can have multiple management nodes, i'd suggest you have more than 1 to make failover effective :)
      * it is advised to keep your transactions short ;)

      Porting stuff from an existing innodb based application over to this, may be quite an effort.

      The mysql doc however contains no word about stored procedures. So i wouldn't bet my 5 cents on it yet.

      All-in-all, it's nice to see people sharing knowledge and it's nice to see that people put effort into making mysql as the most common opensource rdb clusterable. My opinion is that perhaps a bit more effort is needed, but at least people are making the steps in the right direction.

      I still love postrgres ...

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    17. Re:'Ultra Monkey'? by Kadin2048 · · Score: 1

      That's "Hoary" Hedgehog ... although he'd probably be happier if he was Hooray Hedgehog. But no, he's just Hoary.

      --
      "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
    18. Re:'Ultra Monkey'? by welsh+git · · Score: 1

      Not quite.

      I take it you haven't heard "The gnu song" (I'm a gnu) by Flanders and Swann ?

      They pronounce it "ger-noo" throughout.

      And seeing as that was recored in 1959, it predates the Stallman Gnu effort somewhat.

      In fact, I was 'brought up' thinking this was how "gnu" is pronounced, maybe due to hearing this song as a child.

      google/p2p it.

      --
      Sig out of date
    19. Re:'Ultra Monkey'? by Reality+Master+101 · · Score: 1
      But it wasn't invented [wikipedia.org], it's a wildebeest.

      I didn't mean "invented" as in created the word from nothing, I just meant the name they picked. And yes, it would've been a stupid name even without the stupid pronunciation, but the added syllable just proves how brainless they are about P.R.

      --
      Sometimes it's best to just let stupid people be stupid.
    20. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      > And let's not forget there are plenty of stupid names for succesful, commercial software. Like "Oracle"

      Tastes vary. Yours are stupid. You're welcome.

    21. Re:'Ultra Monkey'? by kryten_nl · · Score: 1

      Well, IF you had read my post more closely, you would have seen that I agree wholeheartedly with your assessment.

      *cough*karmawhore*cough*
      :)

      --
      For the perfect anti-Unix, write an OS that thinks it knows what you're doing better than you do and let it be wrong.
    22. Re:'Ultra Monkey'? by RookKilla · · Score: 3, Interesting

      I'm with you on that one. Well, i'm a CTO, and i don't care about the names, but sometimes the initiative starts "from the bottom", so to speak, and sometimes needs to be run by not-so-open-minded people who happen to write the check. Unless the person wants to start company-wide project of opening minds prior to initiating something like "Ultra Monkey", he/she has to do something about the name. In this very case, i'd call the software "UM", i guess, if i were working in a "good old corporation" and had to submit an official project proposal, and stick to "UM" in all latter documentation. The problem with projects like this is the fact that they are relatively unknown. While Google, RedHat and others are names you can find all over the WSJ and NYTimes, projects like this are not known to general public, including the gray-haired conservative guys in financial departments that are writing the checks. At least those a my thoughts.

    23. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      > What they did tack on, unbelievably, is the crappy pronunciation.

      Actually no they didn't. You didn't grow up with Gary Gnu, did you?

      Personally I think GNU is kind of cute. It has the virtue of being short too. HURD/HIRD is dreadful. Nice pun on GNU, but just Herd would have worked then, and still gotten the image of lots of stampeding GNUs.

      Of course, Linus originally wanted to call his OS "Freax".

    24. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      Boss: All right Bob, you've done a good job with our data center. Just curious which technology you chose.

      Me: Sure thing boss, we did some research and we decided to go with Ultra Monkey. It uses a --

      Boss: WHOA? What did you call me?

      Me: No, the name of the product is --

      Boss: You bought a product called "MONKEY"? What were you thinking?

      Me: (thinking fast) Sorry, that's just what the guys are calling it. The actual name of the product is:

      ULTRA-MON (Key/2006)

      Boss: Hmm, "Ultra-Mon" .. sounds professional! You guys come up with the silliest code names.. I remember that stupid penguin a couple years ago.. "Tux". Well, keep up the good work, but keep that monkey crap within the department, okay?

    25. Re:'Ultra Monkey'? by Cederic · · Score: 1


      Actually, Gnu is a good name. The recursive acronym isn't necessarily board member friendly, but it is not offensive, it's difficult to misinterpret, and it doesn't put anybody off anything.

      Prepending other names with 'g' on the other hand works only when it's a good word (like Gopher, or Gnome).

    26. Re:'Ultra Monkey'? by killjoe · · Score: 1

      Anybody else getting tired of the "we don't like the names" troll?

      The people who wrote switchtower (cool name) got sued and had to switch over to capistrano (a crappy name). This happens all the time. If you name your product something that's even remotely decent you will get sued by someone.

      Let's also consider the fact that we may not want people who choose products based on name as the userbase for open source products. They are clearly not going to contribute anything at all and intead be BOFHs who are a strain on a community. They will yell and scream about anything and everything while sucking up the resources of the more productive members of the community who are trying to help people.

      Finally when you visit your CTO who chooses products based on name only tell them it's named the-name-of-your-CTOs-son-or-daughter. They will love the fact that it's named after their daughter and it will really stroke their ego. Since these guys make every decision based on stupid criterea like name you will be golden. Hell tell them it's named after him!. That ought to stroke his ego. Thell him the one of the developers read some article by him and was so impressed he decided to name the product after him!.

      --
      evil is as evil does
    27. Re:'Ultra Monkey'? by killjoe · · Score: 0, Troll

      "and sometimes needs to be run by not-so-open-minded people who happen to write the check."

      Write a check? It's an open source program. Oh and when was the last time you wrote THE NAME OF THE PRODUCT on a check? You write the check out to the company, is the company named ultra monkey?

      "and sometimes needs to be run by not-so-open-minded people who happen to write the check."

      Just go download it. You don't need a check.

      "At least those a my thoughts."

      Well we now know why you are a CTO. You have cleary risen/floated up the septic tank that is your corporation. Next time don't write the name of the product where the name of the company should go, your checks should clear faster that way.

      --
      evil is as evil does
    28. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      You do need a check, killjoe. Some of us don't live out of our parents' basements.

    29. Re:'Ultra Monkey'? by RookKilla · · Score: 1

      Hmm... While one certainly does not need a check to use an open source software, one does need to get a permission to use company resources to implement the project (people, to be precise) which involves submitting certain documentation known as project charter, or project specs. For those of us who is not clear on what "write a check" means, let me be more specific - "write check" = "allow usage of company resources in a particular project". I am also not sure how familiar some people may be with the way software projects work, but projects have to be approved by project stakeholders and some of the steakholders may be held back by seemingly "not serious" name of a particular piece of software involved. It is sad that software might be judged by its name, but it does happen.

      Personal note: Killjoe, i have not risen/floated up a septic tank (please, do not confuse your workplace and lifestyle with workplaces and lifestyles of others), but i have earned my status by working 10-12 hours a day 6 days a week. In addition, I do not believe that slashdot should be used for expressions of personal frustrations with one's (personal, professional and/or sexual) life.
      Best of luck on resolving your issues, killjoe. I hope you understand if i do not respond to your next session of word diahrrea caused by personality faults. There are support lines that might be able to help you.

    30. Re:'Ultra Monkey'? by killjoe · · Score: 1

      "Hmm... While one certainly does not need a check to use an open source software, one does need to get a permission to use company resources to implement the project (people, to be precise) which involves submitting certain documentation known as project charter, or project specs."

      OK let's see how this conversation might go...

      "sir, we are going to implement a clustered failover database so that we don't have any downtime and our customers will be happy, the best part is that it's not going to cost anything!."

      "nothing?"

      "Nothing!. Not for the database, not for the clustering software, no licenses, no need to worry about dual core licensing issues, nothing at all"

      "great what is it called?"

      "The database is called mysql and the clustering software is called ultra monkey"

      "WHAT!!!!. I refuse to have something called ultra monkey in my company. How dare you install something called ultra monkey. Here is a check for 80 thousand dollars, now go and install an oracle cluster. Oh and you are fired for even saying ultra monkey in my presence"

      "but i have earned my status by working 10-12 hours a day 6 days a week. "

      I called you company a septic tank because on in a septic tank can people who judge products and technologies based on name can rise to the top. These types of organizations are run by people who are incapable of making sound decisions, they are incapable of evaluating products on merit. They look at the name and if they don't like the name they reject it no matter what other merits the product may have.

      You worked hard to get promoted in a company run by imbeciles (by your own admission). The fact that these guys promoted you tells me that you were promoted because you had the right name and you "looked the part". It had nothing to do with your performance, you yourself admitted that performance does not enter into the decision making process at your company.

      --
      evil is as evil does
    31. Re:'Ultra Monkey'? by megalomaniacs4u · · Score: 1
      Um, it doesn't cost nothing. My time or the OP's time costs the company money. That is the point you have so obviously have missed.

      Hint: In the real world companies have internal budgets for resources.

      For example: If it takes me a day to learn how to install & configure "Ultra Monkey" on a box, then that costs the company a day of my time not doing something else productive.

    32. Re:'Ultra Monkey'? by Fulcrum+of+Evil · · Score: 1

      Is it just me or does it seem a bit bad idea in most cases where the data amount is small but traffic is high?

      Yeah, you may as well partition your DB and be done with coordination.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    33. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      What makes it "unprofessional"? Have you heard half of the ridiculous garbage that spews forth from the business world? Most of it barely passes for baby talk.

      Who gives a shit about the name. Just make sure it works first before adopting it.

    34. Re:'Ultra Monkey'? by killjoe · · Score: 1

      "Um, it doesn't cost nothing. My time or the OP's time costs the company money. That is the point you have so obviously have missed."

      Is it your position that implementing a clustering database using a better named product would not take of your time and the OP's time?

      "For example: If it takes me a day to learn how to install & configure "Ultra Monkey" on a box, then that costs the company a day of my time not doing something else productive."

      This presumes that the decision makers are considering factors such as ease of use, speed of implementation and such. You have told me that your management (and you because you are in management) base your decisions based on the name of the product not the time it takes to implement it.

      Finally a clue for you. Databases are hard. Implementing a clustered failover solution is going to take a lot of time no matter what you use. Replication in Mysql is easier to set up then replication in oracle or sql server (I know because I have done all of the above). Unfortunately none of that matters in your organization, you have already dismissed the Mysql solution because of the name of an associated product.

      --
      evil is as evil does
    35. Re:'Ultra Monkey'? by EnronHaliburton2004 · · Score: 1

      For every company with a name like "Oracle", "google" and "Red Hat", there were 10 companies who went bust, and who just happened to have names like "Monkeybrains", etc.

    36. Re:'Ultra Monkey'? by Fulcrum+of+Evil · · Score: 1

      "WHAT!!!!. I refuse to have something called ultra monkey in my company. How dare you install something called ultra monkey. Here is a check for 80 thousand dollars, now go and install an oracle cluster. Oh and you are fired for even saying ultra monkey in my presence"

      If that happened in my company, I'd forward the issue to the CEO, get the manager canned for supidity and get my job back. Yeah, and Oracle clusters - not so hot. Clusters lead to failures and nd instability. Instability leads to outages. Outages lead to suffering.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    37. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      ...all flinging Ultra Poop when things go wrong!

    38. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      Suffering leads to the Dark Side.

    39. Re:'Ultra Monkey'? by funfail · · Score: 1

      Or "Lotus Notes", which has nothing to do with making notes (and e-mails are called "memos" in Notes), and nothing to do with flowers, either.

      I don't want to nitpick but originally "documents" were called "notes" in Lotus Notes. Later on probably PR guys thought that "document" sounds better. There are still property names (like NoteID) and API functions (like SelectAllNotes) that mention "notes" in Lotus Notes.

    40. Re:'Ultra Monkey'? by Sithgunner · · Score: 1

      Then don't.

      Just show what's so perfect about your environment and show the benefit, cost ratio compared to what it is now, and do they drop the benefit just because it's got a monkey in the name? but can save them quite some $$$ if that's the case?

      Seriously, if your boss drops the name over the benefit, change your job or your boss.

    41. Re:'Ultra Monkey'? by Fulcrum+of+Evil · · Score: 1

      Suffering leads to the Dark Side.

      No, Suffering is the end state. It's what keeps you on the wheel. Eliminate desire for that which you do not possess and you will be closer to leaving the wheel.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    42. Re:'Ultra Monkey'? by caluml · · Score: 1

      For every company with a name like "Oracle", "google" and "Red Hat", there were 10 companies who went bust, and who just happened to have names like "Monkeybrains", etc.
      Nothing to do with names.

    43. Re:'Ultra Monkey'? by Martz · · Score: 1

      Yeah, my CEO was disgusted with the name "Microsoft". Why the hell would we want any computer clicky icon things which are both small and soft??!!

      YOU'RE FIRED!

    44. Re:'Ultra Monkey'? by biffta · · Score: 1

      Hell tell them it's named after him!. I saw this product and thought of you sir; Ultra Monkey!

    45. Re:'Ultra Monkey'? by nettdata · · Score: 1

      I'd be interested to know how big your company is, how many people are under you in the Org chart, what your yearly spending budget is, etc.

      I, too, am the "CTO" of my company, but that is only to increase the chances that my quotes/sound-bytes will be used in marketing crap from Oracle, or anyone else who needs at least a "C" level officer listed in order to seem credible. In reality, I'm the Technical Architect, President, etc., of a 10-man shop.

      That being said, I have a ton of large clients where CTO means that (s)he's more management than tech, and this name would cause unnecessary road-blocks and pre-conceived notions right from the start.

      Doesn't mean that it's not good software.

      And all it takes is one monster company to adopt the software, and it might result in a crap-load of big-company sponsored development back into it.

      Sure, you can name the software whatever the hell you want, but be aware that there are some potential real-world consequences with naming it something funny or wierd. It's no different than having a whack of tatoos, etc. Sure, you can have them, but odds are they WILL affect your chances to get a typical "corporate" job.

      What "should be" has nothing to do with "what is".

      --



      $0.02 (CDN)
    46. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      Hi. I'm the fucking graduate student.

      I usually introduce myself to professors this way. "Hi, I'm the fucking grad student. I work in this fucking lab, under my fucking advisor. It's a fucking beautiful day at this fucking university, who'da fucking thought it? It's always fucking raining out here."

      Then, when someone asks me about a publication, I say something like, "I don't give a shit what you title your paper, if you don't have good fucking results, I don't fucking want to read it."

      It's really fucking effective.

      Have a nice fucking day :-D

    47. Re:'Ultra Monkey'? by Anonymous Coward · · Score: 0

      That was to point out the flaw in your rhetoric, not to make social commentary on my position in life. I love being a grad student, and my advisor is teh r0x0r.

    48. Re:'Ultra Monkey'? by KenDodd · · Score: 1

      Yes, quite! And to the fellow who is concerned about what he should call it, it'd be a B.U.M. Most shirts are quite comfortable feeling their way around a B.U.M., so problem solved! :)

      --
      Did you know my dad's dog died?
    49. Re:'Ultra Monkey'? by NateTech · · Score: 1

      What do you want it to do? :-)

      "Does it work?" is a meaningless question asked by a great many CxO's.

      Usually they really DON'T know if it "works" because they don't have any idea what the business needs are.

      Does Windows "work"? Does that modem over there "work"? Does the shiny new laptop on your desk "work"? Nope.

      They don't "work" unless a smart human makes them either a) Make the company revenue, or b) Save the company revenue.

      The real question is:

      a) Does it make the company money?
      b) Does it save the company money?

      If the answer to either of the above is "no", then it's not necessary for the business to purchase whatever it is.

      IT budgets are usually way out of line with how much money they either make or save the company.

      I regularly see tasks being done by large database systems and GUI front-ends that could EASILY be done with two filing clerks at $10/hour and a one-time careful thought process put together for a) the form used, and b) how to get the filing clerk to fax a copy of the filled out forms to anyone who needs one for reference.

      "Data Warehousing" really gives me a chuckle. Store shit no one's using, hoping someone, someday, will have time to dig through it for something useful -- in a world gone mad with over-communication and automation of that, but little automation of repetitive tasks, or better yet... ELIMINATION of them.

      --
      +++OK ATH
  3. It doesn't look easy by BadAnalogyGuy · · Score: 2, Funny

    ... and they just stare at you and ask incredulously, "You had to do WHAT with the seat?"

  4. This is for the MySQL Cluster storage engine by Jamesday · · Score: 4, Informative

    This is for the MySQL Cluster storage engine, describing how to set up load balancing across two MYSQL servers that serve as front ends to it.

    If you want code to set up a MYSQL cluster (cluster of MYSQL servers NOT using the Cluster storage engine) you might do something like looking at the PHP code in MediaWiki, which does application-level load balancing for reads (not writes) and has so far been tested to 25,000 or so queries per second. Or you could use the same director tools and skip using them for writes, implementing failover for the master server getting the writes.

    1. Re:This is for the MySQL Cluster storage engine by cloudmaster · · Score: 1

      Or you could just use round-robin DNS with MySQL replication and set your mysql_connect wrapper to loop until it connects, providing generally adequate fault-tolerance and load balancing with a minimum of thought.

    2. Re:This is for the MySQL Cluster storage engine by drinkypoo · · Score: 1

      using rrDNS for RDBMS load balancing is an adequate solution only if you do not allow users to write to the database. If user actions result in database writes then you must also use persistent database connections which limits the usefulness of load balancing...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  5. Don't forget - The MySQL Protocol is proprietary. by DAldredge · · Score: 4, Informative

    The MySQL Protocol is proprietary.

    The MySQL Protocol is part of the MySQL Database Management System. As such, it falls under the provisions of the GNU Public License (GPL). A copy of the GNU Public License is available on MySQL's web site, and in the product download.

    Because this is a GPL protocol, any product which uses it to connect to a MySQL server, or to emulate a MySQL server, or to interpose between any client and server which uses the protocol, or for any similar purpose, is also bound by the GPL. Therefore if you use this description to write a program, you must release your program as GPL. Contact MySQL AB if you need clarification of these terms or if you need to ask about alternative arrangements.

    http://dev.mysql.com/doc/internals/en/licensing-no tice.html

  6. This isn't very elegant lb'ing MySQL cluster by layer3switch · · Score: 3, Interesting

    No MySQL sessions are carried over from failed node, so all MySQL connections will be dropped and need to re-establish again. For sessionless Apache or other fast and short connections may make this very useful, but for application service with shared connection pool, a DNS RR with node check makes better choice rather than elaborate setup using lb nodes in front of MySQL cluster due to +2 lb nodes administration overhead. And also because of arp problem due to MAC on loopback broadcasting, the article forgets to mention;

    net.ipv4.conf.all.arp_announce = 2
    net.ipv4.conf.all.arp_ignore = 1

    Should take care of all interface arp announce/ignore. Doesn't need to set net.ipv4.conf.eth0.arp_ seperately as the article provides. Or easier way to control it is to set ARP=no on /etc/sysconfig/network-scripts/ifcfg-eth0 and ifcfg-lo:x

    Personally I rather have Active/Active lb nodes in front and carry over sessions from failed node to active node transparently by using shared memory space to replicate all session info. OpenMosix comes to mind.

    --
    "Don't let fools fool you. They are the clever ones."
    1. Re:This isn't very elegant lb'ing MySQL cluster by sodell · · Score: 1

      I agree about the hardware load-balancer being unnecessary. Round-robin balances just fine, and if you have keepalived on the nodes, all your interfaces will be available if one of the node drops out of the cluster for any reason, so none of the addresses in DNS will look "dead" to clients.

      Question: which process would replicate sessions?

    2. Re:This isn't very elegant lb'ing MySQL cluster by layer3switch · · Score: 1

      "Question: which process would replicate sessions?"

      There are expensive solution to do just that. Many L4-7 switches on the market does this. Of course, the whole point of the article is to home-craft the solution, but I think, SQL Relay does what application layer loadbalancer would but without the replicate session feature and with some what failover/loadbalance feature.

      Of course, there is always Oracle... Believe me, I think, Postgresql is great open source product, but if I decide to go notch upward on db from MySQL, I rather go all the way to Oracle or DB2 just because of this very issue. Clustering in Oracle is a complete product, and does not require hacks and work around as much as MySQL and Postgresql.

      --
      "Don't let fools fool you. They are the clever ones."
  7. Re:Don't forget - The MySQL Protocol is proprietar by Anonymous Coward · · Score: 0

    Of course that leaves out the very little loophole that you're only bound by the GPL when you release a shipping version of your software. Other than that you're under absolutely no obligation to release your code if it's only used internally.

  8. Without wishing to start a flamewar... by m50d · · Score: 2, Interesting

    Anyone have a guide for doing this kind of thing with postgresql?

    --
    I am trolling
    1. Re:Without wishing to start a flamewar... by caluml · · Score: 1

      Slony. But although I've poked around at it, I've never given it the time to try and get it working.
      It seems... well, strange to me. Doesn't work in the way I expect.

    2. Re:Without wishing to start a flamewar... by BurningDog · · Score: 2, Informative

      Right now there is no equivalent for Postgres. Best you can do is use Slony for creating read only replicas and then send any write queries to the master database. Heres a link (though slightly old) explaining the situation.

      http://brianray.chipy.org/postgreSQL/cluster_vs_re plication.html.

      Not much has changed since then. I do think there are some 3rd party commercial apps that handle master-master replication or even shared storage but thats about it.

    3. Re:Without wishing to start a flamewar... by jcaren · · Score: 1

      One option is to run Pg over openMosix.
      You do NOT get fault tolerance (on a process level) and YMMV
      depending upon hardware and application requirements.

  9. Re:Other DBMS? by kryten_nl · · Score: 1

    Would this work for my MS SQL server? I don't like MySQL now that they're associated with SCO.

    So, by your definition:
    Microsoft = good, MySQL = bad

    You must be Ballmer's son/daughter. Would you like to win a free iPod? I promiss not to tell your dad about it.....

    --
    For the perfect anti-Unix, write an OS that thinks it knows what you're doing better than you do and let it be wrong.
  10. SSL + MySQL + Windows by neoform · · Score: 0, Offtopic

    I know this is an unrelated question, but does anyone know if it's even possible to use SSL with MySQL (with the windows binaries). I ask cause i haven't found any documentation anywhere on this subject.

    --
    MABASPLOOM!
    1. Re:SSL + MySQL + Windows by Jamesday · · Score: 1

      YaSSL support is included in the MySQL binary builds for most platforms in 5.0.20a, with support for fewer in the original 5.0.20 release. Release note.

    2. Re:SSL + MySQL + Windows by LifesABeach · · Score: 1

      Also, you might want to consider using the Open_SSL with your web server; I've used it on both IIS, and Apache. I think that Open_SSL lends itself to any of the major web servers.

    3. Re:SSL + MySQL + Windows by drinkypoo · · Score: 1

      If you mean SSL'ized connections, then you should stop reading this comment 'cause I don't know anything about that. However, are you familiar with ssh port forwarding? Works with just about any kind of TCP/IP traffic, and it's all but guaranteed to work where communication is carried out with a single TCP connection - such as between mysql clients and servers. I've done it on Windows with putty. There's a commandline client called plink, which I use to do port forwards.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  11. Such capabilities are built in. by Anonymous Coward · · Score: 2, Informative

    PostgreSQL supports these capabilities natively, without needing to resort to third-party packages. The best place to learn about setting it all up is from the PostgreSQL docs. Between the FAQ and the manuals, you should have more than enough to get you started.

  12. Is that true? by XanC · · Score: 1

    Just because they say it is? I'm not trolling, I really want to know.

    1. Re:Is that true? by kryten_nl · · Score: 1

      Therefore if you use this description to write a program, you must release your program as GPL.

      You can allways reverse engineer it. Or write an additional program to 'translate' between the MySQL protocol and your own chosen protocol, and use inter-process communication.

      --
      For the perfect anti-Unix, write an OS that thinks it knows what you're doing better than you do and let it be wrong.
    2. Re:Is that true? by jadavis · · Score: 2, Insightful

      As usual, MySQL is intentionally being confusing about their licensing. You can't GPL a protocol, only the implementation of a protocol.

      However, the protocol itself still every bit as proprietary a format as an MS Word document. It just happens that they license their implementation to you under the GPL. You can reverse engineer it, just like the MS word doc format, but MySQL AB can always make subtle changes to break it (just like MS can do to the word format).

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
  13. Re:Don't forget - The MySQL Protocol is proprietar by Anonymous Coward · · Score: 0

    Because this is a GPL protocol, any product which uses it to connect to a MySQL server, or to emulate a MySQL server, or to interpose between any client and server which uses the protocol, or for any similar purpose, is also bound by the GPL.

    I think this is the heart of my confusion about MySQL. That you can GPL a protocol.

    I thought, IANAL, that you could legally reverse-engineer or emulate an interface for interoperability purposes. For example, I thought that's why Samba hasn't been sued by Microsoft for emulating their SMB protocol. So how can MySQL claim you can only use their protocol under the GPL. Of course, they're the ones telling you that, I haven't heard a real attorney's opinion.

    I mean kudos to MySQL for developing and releasing their database under the GPL and kudos to RMS for coming-up with the GPL in the first place, but is this a legally binding application of it? I wonder.

  14. Huh? by Anonymous Coward · · Score: 0

    Properietary AND GPL? Care to explain how can it be both?

  15. Re:Other DBMS? by Anonymous Coward · · Score: 0

    Microsoft deals with SCO as well. Now what are you going to do?

    Don't judge a company strictly on their business relations. I agree SCO is 'bad' but that doesn't mean we need to lump their current customer base in with them. Hence other companies still work with SCO to help support the customers they have in common.

  16. MyPostgres? by Doc+Ruby · · Score: 4, Interesting

    Anyone have an equivalent HowTo for Postgres clusters?

    And while I'm getting everything in life I casually ask for, where's the SW that automatically swaps out a MySQL install and replaces it with Postgres, including revising source code that calls/queries the DB, or just uses a MySQL installation as a proxy replica for Postgres nodes in a mixed cluster?

    --

    --
    make install -not war

    1. Re:MyPostgres? by Limburgher · · Score: 1

      Not been written yet AFAIK. Too many programming languages, table type issues, API quirks. I've made most of my PHP code work on both MySQL and PostgeSQL, as well as SQLite, but it was a bit of work to assemble the abstraction functions.

      In theory, an app to glob a mysql server and recreate it in a postgresql server (or vice-versa) could be written, and I may even try, but revising source code? Maybe if everything you use uses one language, the same API version, and you're willing to let the app handle a recompile and reinstall as well. That part should scare any reasonable admin.

      --

      You are not the customer.

    2. Re:MyPostgres? by Anonymous Coward · · Score: 0

      Some things to think about for if doing mysql->pg, for those interested:
      MySQL text indexes seem to be equivalent to lower(colname) indexes in PG.
      PG character set/collation is per-database, MySQL's is per-table.
      PG has no update /w order by or limit, so use subselects instead to get a similar end-result. Same for delete.
      MySQL fulltext indexes are different from both fti (fti indexes within words, eg qwerty werty erty rty ty) and tsearch2 (no wildcard matching). MySQL fti folds down accents when indexing words.
      In PG, use sequences instead of autoincrement fields.

      Has anyone else run into tips for mysql->pg converts?

    3. Re:MyPostgres? by FacePlant · · Score: 1

      And while I'm getting everything in life I casually ask for, where's the SW that automatically swaps out a MySQL install and replaces it with Postgres, including revising source code that calls/queries the DB, or just uses a MySQL installation as a proxy replica for Postgres nodes in a mixed cluster?

      Burried with Jimmy Hoffa.

      --
      My Heart Is A Flower
    4. Re:MyPostgres? by cerberusss · · Score: 1
      I've made most of my PHP code work on both MySQL and PostgeSQL, as well as SQLite, but it was a bit of work to assemble the abstraction functions.

      Assemble the abstraction functions? Why not use the standard PEAR package?

      --
      8 of 13 people found this answer helpful. Did you?
  17. Monkey Management by daitengu · · Score: 3, Funny

    I use a Monkey Management Technique for my mySQL servers. If one server goes down, I have a monkey that jumps up and down at the datacenter and gets real mad until someone fixes it.

    .. Works like a charm!

    1. Re:Monkey Management by bxbaser · · Score: 1

      I think you mispelled managment.
      I know cause i get management and monkey mixed up all the time

    2. Re:Monkey Management by Antique+Geekmeister · · Score: 1

      Sadly, this is often much more effective and reliable than expensive commercial high-availability systems where the management tools and the absurdities they commit on the actual software actually make the system unreliable and liable to intermittent failures. Before spending the money on using such tools it's often worth examining what downtime costs and factoring in the likelihood of the high-availability tools failing or in fact never working at all.

      But a monitoring tool that actually and effectively reports that the server is down or offline is necessary in any case, and costs one heck of a lot less.

    3. Re:Monkey Management by chawly · · Score: 1

      Cheer up ! You are not alone ! Yours is a very common problem - I am a victim of it myself !

      --
      How many beans make five, anyhow ? ... Charles Walmsley
  18. Re:Other DBMS? by caffeination · · Score: 1
    Though you make some valid points, your post is technically offtopic, and easily flamebait. Even so, this sort of scenario is how people come to conclusions like "Slashdot is teh anti-MS or should I say M$".

    But anyway, how can MySQL's association with SCO put you off, if MS SQL's rather closer association with Microsoft doesn't? Beyond that, I concede your points: I know little beyond the four basic functions and phpMyAdmin, and I'm content in my ignorance.

  19. Probably nonsense by Gorath99 · · Score: 1

    Just because they say it is? I'm not trolling, I really want to know.

    You can copyright source code, but not the rules of a protocol. You'd have to use a patent for that. Since the GPL is all about copyright and not patents (yet), what they say is probably nonsense.

    The only construction that I can think of that would make the protocol governed by the GPL (though not for the reasons MySQL AB states) is if the protocol requires the transmission of some text that is itself copyrighted under the GPL *. I'm not familiar with the MySQL protocol, so I couldn't say if it does any such thing. I'd bet against MySQL AB on this issue, though.

    *) As an aside, some company used a similar construction for an anti-spam solution, whereby a copyrighted haiku had to be sent in the mail header in order to circumvent the filter. This haiku wasn't licensed to spammers, automatically making them copyright infringers if they included it.

  20. usefull by father+jack+hackett · · Score: 0, Redundant

    this may come in handy

  21. NDB and RAM by moogoogaipan · · Score: 3, Informative

    I heard that you need to have enough RAM on the SQL nodes to hold your entire database on each cluster machine so that NDB will work. I did not see this info in the front page. I think it's critical to know.

    1. Re:NDB and RAM by Jamesday · · Score: 1

      Close. You don't need enough RAM in each machine for the whole database. You can split the database among many machines and the combined set must have at least enough RAM for twice the data size.

      The Cluster storage engine wasn't originally intended for really large data sizes but disk storage support is being added because it turned out that many people want to be able to use it to build clusters in this way instead of via replication, so want to handle larger data sizes. If that interests you the 5.1 manual is currently the best description.

  22. Re:Other DBMS? by Anonymous Coward · · Score: 0

    mysql 5 has stored procedures, idiot!

  23. Re:Don't forget - The MySQL Protocol is proprietar by forrie · · Score: 2, Insightful

    My understanding was that your obligation to release under GPL was based on your intended usage of said modifcation. For example, if I develop a hack to this, but intend only for internal/private use, then I'm under no obligation to hand this out publicly.

    The only time I would be obligated to submit this under public GPL would be if I intended to redistribute it.

    Is that not correct?

  24. No they aren't (Re:Such capabilities are built in) by ZeekWatson · · Score: 0

    postgres has no clustering support. It has limited replication support from a project called slony (http://gborg.postgresql.org/project/slony1/projdi splay.php).

    The mysql clustering is pretty much bunk anyways. All of the DBs need to live in RAM. What happens if you have a catastrophic UPS failure?

  25. Sequoia/CJDBC by natpowning · · Score: 1
    1. Re:Sequoia/CJDBC by cecchet · · Score: 1

      Sequoia provides both load balancing and failover. It supports all MySQL table types (and also other databases). One nice feature is transparent failover that completely hides any failure (connection, controller, backend) even in a middle of a transaction.
      Note that Sequoia now has a native implementation of the MySQL client library to allow any other API besides JDBC.
      For other databases, ODBC support is also available in the Carob project.

  26. Re:Don't forget - The MySQL Protocol is proprietar by Anonymous Coward · · Score: 0

    How in hell can this be moderated "+ Interesting". It is either "- absolute ignorant" or "- blatantly trolling".

    1/ Using "GPL" and "proprietary" in the same sentence is blatant trolling.
    2/ Talking about using a license on a protocol is absolute ignorance.

    Now for the facts:

    If you are not linking to or otherwise using GPL'ed code within your sources, you can license however you want to. The GPL has nothing to say about it (it is not an opinion; you just read the f* license).

    "Because this is a GPL protocol"

    There ain't anything like a "GPL protocol". Therefore the rest of the sentence if pure nonsensical.

    Since MySQL provided client access libraries *are* GPL, you only can use them (ie: linking to them) from GPLed programs, that's true. But the MySQL access protocol is publicly known. Nothing refrains you to write a different client access implementation... with whatever license you like it. I challenge you to probe otherwise.

  27. Re:Don't forget - The MySQL Protocol is proprietar by DAldredge · · Score: 2, Informative

    The text I posted is a direct copy from the official MySQL site. If you click the underlined text it will take you to their site.

    It isn't my fault that MySQL believe it.

  28. Right by XanC · · Score: 1

    So, following that logic, how is it possible to "redistrubute" your "hacks" to the protocol itself? I think it isn't. I think MySQL is full of baloney.

  29. Re:Other DBMS? by cdrudge · · Score: 1

    SCO has an operating system. MySQL has a database product. MySQL needs operating systems to run it's databases. Just because MySQL has certified that it runs on SCO OpenServer and that SCO says MySQL runs fine, doesn't necessarily one supports all the actions of the other.

    I find it funny that you don't want to use MySQL because of their business practices in partnership with SCO, Yet you inquire about MSFT which could have even shadier business practices with SCO, and even excluding SCO, has a track record of being less then friendly to the open source community.

  30. Re:No they aren't (Re:Such capabilities are built by Anonymous Coward · · Score: 3, Informative

    > The mysql clustering is pretty much bunk anyways. All of the DBs need to live in RAM. What happens if you have a catastrophic UPS failure?

    It was designed for read-only telecom use, with real time writes from "upstream" propogated down. Basically, a cache. Local writes aren't super-critical in this case, because whatever causes a failure to write probably takes out the rest of the node anyway.

    It's not really a general purpose SQL database, it just happens to let mysql provide some front-end services. Personally I consider it a drag on an otherwise decent distributed cache engine (mysql isn't exactly synonymous with bulletproof) but I suppose it does gain some exposure.

    Postgres provides a MUCH more flexible infrastructure than MySQL for doing real clustering and replication ... unfortunately no one's seriously built up that infrastructure.

  31. Instead of 'Ultra Monkey' how about CARP? by r0gl3w1s · · Score: 1

    How about CARP from the BSD project? Pretty darn simple compared to Ultra Monkey.

    Plus then you can say "Our machines handle failover at the IP level through Common Address Redundancy Protocol".

  32. Re:Don't forget - The MySQL Protocol is proprietar by Antique+Geekmeister · · Score: 1

    It looks like whoever actually wrote that note on the MySQL site does not know how GPL licenses work. It's a violation of the GPL to emulate the protocol? Nonsense, unless there are patents on it.

  33. Re:Don't forget - The MySQL Protocol is proprietar by jenkin+sear · · Score: 1

    Mysql may believe this (of course, they believed foreign keys were unnecessary up until pretty recently) but they aren't right, at least, not under the terms of US copyright law.

    You can't copyright a protocol. You can copyright the literal words of their description of the protocol, but that in now way binds you in terms of the license. You can't copy their description into a book without permission, but I doubt that the description is licensed under the Gnu FDL.

    If you lift their client app and use it to talk to a mysql database then you have a problem; but if you reverse engineer the protocol without doing a literal cut and paste, then they have no leg to stand on.

    IANAL, but apparently neither is the hoof-handed choom at Mysql that wrote that whopper.

    --
    What a strange bird is the pelican, his beak can hold more than his belly can.
  34. Re:Don't forget - The MySQL Protocol is proprietar by jadavis · · Score: 1

    Can you please provide a link to the open, published specification? I'd like to see it so that I know that anyone can implement that spec under whatever license they feel most comfortable with.

    An example of a truly open standard is:
    http://www.oasis-open.org/committees/download.php/ 12572/OpenDocument-v1.0-os.pdf
    Or also, the PostgreSQL wire protocol:
    http://www.postgresql.org/docs/8.1/static/protocol .html

    The MySQL wire protocol is proprietary. You would have to reverse engineer the product to create code under a different license. They did that on purpose.

    Note, there are documents in existence, such as:
    http://www.redferni.uklinux.net/mysql/MySQL-Protoc ol.html

    That is someone who read the source files and produced a spec for a hypothetical re-implementation. The problem with that is that MySQL has made no promises to adhere to that spec, so it's quite possible that MySQL could manipulate the protocol to break 3rd party implementations without breaking their own. And nobody would have a standard document that they could use to file a bug report against. That's the definition of a proprietary protocol.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  35. Re:Don't forget - The MySQL Protocol is proprietar by jadavis · · Score: 1

    It's proprietary, and you can reverse engineer it.

    You could use the reverse engineering argument for MS Word documents as well. However, Microsoft can make subtle changes to the format designed to break 3rd party implementations, or even break their own old versions. MySQL can do the same, because since there is no standard document for the protocol, nobody can file a bug report regarding a 3rd party implementation.

    --
    Social scientists are inspired by theories; scientists are humbled by facts.
  36. Re:No they aren't (Re:Such capabilities are built by Jamesday · · Score: 2, Informative

    If you have a catastrophic UPS failure you wait for the power to come back up and reload from the disk copy. MySQL Cluster regularly saves the data to disk. Or you use two places that are on different power setups and UPS systems. Or you shut down while you stil have UPS power. Or you switch to your alternate data center and its copy of the cluster.

  37. Re:No they aren't (Re:Such capabilities are built by Jamesday · · Score: 1

    It was designed for fast distributed writes as well For example, for the call records of phone calls and similar session information. It's being used for high rate data capture.

    You're right that the Cluster storage engine isn't a database. It's a storage engine and that's what it's supposed to be.

  38. Re:I like Monkeys by justinchudgar · · Score: 1

    Holy shit!. I just laughed so hard I scared the dogs. Thanks. BTW, the garbage disposal seems like the next step.

    --
    WARNING: Smoking this sig may cause lowered IQ, insanity or short term memory loss. It is also really bad for your monit
  39. Re:No they aren't (Re:Such capabilities are built by killjoe · · Score: 1

    "Postgres provides a MUCH more flexible infrastructure than MySQL for doing real clustering and replication ... unfortunately no one's seriously built up that infrastructure."

    Yea, I would love multi master replication or even replication over unreliable links. Too bad I can't have either with postgres. Master slave over a local LAN is all you get really. Good for failover but not much else. Having said that failover is better then nothing!

    --
    evil is as evil does
  40. Consider ASA by Anonymous Coward · · Score: 0
    "All data is stored in RAM! Therefore you need lots of RAM on your cluster nodes.


    This seems very risky.

    A very affordable -- and far safer -- alternative may be to consider Sybase's "Adaptive Server Anywhere" database engine. (There's a demo version, which is available for free for development and educational use; or, a single license costs $400, less if ordered in bulk.) ASA is a high-performacne, SQL99, ACID-compliant DB that runs on {Windows,Linux,MacOS,etc.}, and can also run on handheld devices, like Blackberries (through a technology Sybase calls "Ultralite").

    It has remote clustering ability which is far more robustly-designed than the tacked-on support offered by MySQL.
  41. Re:I like Monkeys by Anonymous Coward · · Score: 0

    That's the stupidest fucking thing I've ever read.

  42. Re:Don't forget - The MySQL Protocol is proprietar by Anonymous Coward · · Score: 0

    How in hell can this be moderated "+ Interesting". It is either "- absolute ignorant" or "- blatantly trolling".

    1/ Using "GPL" and "proprietary" in the same sentence is blatant trolling.
    2/ Talking about using a license on a protocol is absolute ignorance.


    You do realize that it is MySQL making the claim to which you are objecting, right?

    Since MySQL provided client access libraries *are* GPL, you only can use them (ie: linking to them) from GPLed programs, that's true. But the MySQL access protocol is publicly known. Nothing refrains you to write a different client access implementation... with whatever license you like it. I challenge you to probe otherwise.

    You do realize that it is MySQL making the claim that you can't, right?

  43. Re:I like Monkeys by chawly · · Score: 1

    You must be new here

    --
    How many beans make five, anyhow ? ... Charles Walmsley
  44. Re:Don't forget - The MySQL Protocol is proprietar by Alioth · · Score: 1

    If it's GPLd, it's Free and definitely _not_ proprietary.

  45. Sometimes it pays to pay... by d3us3xmach1na · · Score: 1

    We are using Continuent's m/cluster. Costs a little bit (still loads cheaper than Oracle) but so far delivers the goods with little setup or maintenance. It is for a web application so read performance is where it's at. It distributes the writes across all the nodes, so write performance actually takes a slight hit, but read performance is load balanced. We are running three dual processor nodes and the performance is fantastic. It's shared nothing, so all data is on disk on all three machines. Supposedly we can add up to 12 more nodes (just buy the licenses) to dramatically increase our read performance. We looked at all the different open source clustering solutions and they were still a little too "roll your own" for our production environment.

  46. Re:No they aren't (Re:Such capabilities are built by jorela · · Score: 1

    1) Data is logged and checkpointed.
          So even in case of "a catastrophic UPS failure" data will be there once your power is back.

    2) In 5.1 the all data in RAM limitation is removed.
          (Except for indexes which still has to reside in RAM)