Blog

  • Amazon Cloud Sends in the MySQL Clones

    Amazon is making it easier, and cheaper, to roll out copies of MySQL for very large websites across its cloud.

    On Tuesday, the company announced an update to its Amazon Relational Database Service that will let users create and delete multiple Read Replicas of MySQL instances in minutes, via a point-and-click interface.

    Full Story Here

  • Coming up with a unique MySQL server-id

    The server-id, is used in replication to give each master and slave a unique identity. For each server participating in replication, you should pick a positive integer in the range from 1 to 2^32 – 1 to act as that server’s ID. To come up with this id convert the IP address of the server to an integer as follows

    IP address 10.8.208.31

    First Octet: 10
    Second Octet: 8
    Third Octet: 208
    Fourth Octet: 31

    (first octet * 256^3) + (second octet * 256^2) + (third octet * 256) + (fourth octet)
    server-id = (10 * 16777216) + (8 * 65536) + (208 * 256) + (31)
    server-id = 168349727

  • Slacking off

    Well I haven’t really wrote anything in the last couple of months even though, I have had plenty to write about. I went to OSCON 2010 in July and had a great time. I learned more about MongoDB and picked up a few more bits of information on MySQL, Memcached, and Linux.

    In July I went to Novell’s Linux Days. I have to admit that Novell has some nice products. Not sure if I would personally pay for them, but if the company wanted to, I wouldn’t turn my nose up at them.

  • Building Thrift on RedHat/CentOS 5.x

    What’s Thrift you ask? Well to quote their website.

    Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml.

     

    And why do I needed it? Well I have been testing Cassandra for at work and one of the developers want to generate some csharp code using the Thrift API, so of course he wanted me to do it, since he was having problems getting it to work on his Window box.

     

    So here is the short notes for what I did.

     

    Downloaded Thrift code:
    thrift-incubating-0.2.0.tar.gz

    Installed/Updated required packages:
    sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel

    Unpacked the code, compiled, and installed it:
    tar -zxf thrift-incubating-0.2.0.tar.gz
    cd thrift-incubating-0.2.0
    ./configure
    make
    sudo make install

    That’s it, have fun. Next project going to look at Lucandra: A Cassandra-based Lucene backend.

  • Couchdb vs. Cassandra.

    And Cassandra wins by a knock out and the crowd goes wild. http://couchdb.apache xenical buy online.org/ vs.http://incubator.apache.org/cassandra/.

    Couchdb is more user friendly, but Cassandra is way more advanced.

  • MySQL Workbench..

    The MySQL Workbench has been out for a little while now, and I kind of put it to the back of my mind, because when it come out it was on Windows only. I, myself use Linux about 90% of the time, so I figured I would wait until they had a Linux version. The other day I was surfing MySQL website and noticed that they have a Linux, and OS X version now. So I figured I would give it a try.

    I have use the MySQL GUI tools before and while they are great for simplifying administration and have a lot of basic functionality, they are lacking in the design and development areas. Now enters MySQL Workbench. It’s a data modeling and design tool. To quote the MySQL website.

    “MySQL Workbench enables a DBA, developer, or data architect to visually design, generate, and manage all types of databases including Web, OLTP, and data warehouse databases. It includes everything a data modeler needs for creating complex ER models, and also delivers key features for performing difficult change management and documentation tasks that normally require much time and effort” 

    All in all it’s not a bad tool. It’s easy to use and fills a hole in the MySQL toolkit. Of course there are two version of it Community and Standard, of which the standard has $99 a year subscription and has additional plugins.

    Check it out: http://www.mysql.com/products/workbench/

  • SchemaSpy

    “Do you hate starting on a new project and having to try to figure out someone else’s idea of a database? Or are you in QA and the developers expect you to understand all the relationships in their schema? If so then this tool’s for you.”

    This is actually really nice and fast. Also makes it easy to visually see what your developers are doing.

    http://schemaspy.sourceforge.net/

  • Finding the HBA WWN on RHEL 5.x

    Nice and easy one line command.

    shell> cat /sys/class/scsi_host/host*/device/fc*/port_name

  • So many to choose from.

    For the last month or so. There has been a debate amongst, my peers and I, on which is the better file system on Linux and how to benchmark and test it. So digging through my back log of emails I notice that Linux Magazine was running a series on the this some topic. So I thought I would sure.

    Lies, Damn Lies and File System Benchmarks

    Metadata Performance of Four Linux File Systems

    Metadata Performance Exploration Part 2: XFS, JFS, ReiserFS, ext2, and Reiser4

  • Reinstalling the Boot Loader on RHEL

    In many cases, the GRUB boot loader can mistakenly be deleted, corrupted, or replaced by other operating systems.

    The following steps detail the process on how GRUB is reinstalled on the master boot record:

    1. Boot the system from an installation boot medium.
    2. Type linux rescue at the installation boot prompt to enter the rescue environment site link.
    3. Type chroot /mnt/sysimage to mount the root partition.
    4. Type /sbin/grub-install /dev/hda to reinstall the GRUB boot loader, where /dev/hda is the boot partition.
    5. Review the /boot/grub/grub.conf file, as additional entries may be needed for GRUB to control additional operating systems.
    6. Reboot the system.