----- "Sajith T S" <sajith(a)gmail.com> wrote:
How is the overall experience like re. deploying
openser with mysql
clusters?
Good enough. Just setup A record pointing at 2 or more api nodes and set them up with
virtual ips (heartbeat works quite well...). Openser will recover if one of the nodes
fail.
Are there gotchas etc that need to be taken care of?
(For
example, a 2006 article [1] says that "The MySQL NDB engine currently
runs its database completely in memory. This means that you have to
be
able to fit your database in memory." But this is not documented as
a
limitation in mysql faq.)
It's a feature and it's in the first sentence of cluster overview: "...
enables clustering of in-memory databases" ;)
Gotchas:
- don't bother with 5.0 - it's got strange issues
- 5.1.23 was the last version of 5.1.X with ndb. Now you have to compile carrier grade
edition from source.
- ping database once in a while (every database in a cluster) by *writing* to some table.
ndb sometimes just locks itself, but allows selects (locks internally - I've never
used lock statements). Restarting api node is enough in that case.
- No schema change needed - it just works with standard tables.
- Inserts / updates will be slower - not much, but anyway.
- hang out in #mysql-ndb channel on freenode -> you'll learn some magic ndb-mgm
commands which are sometimes not documented.
Otherwise, it's not that different from a standard mysql database.
---
Stan