Showing entries 21743 to 21752 of 44049
« 10 Newer Entries | 10 Older Entries »
New APIs in HailDB

In the current HailDB we have a couple of new API calls that you may like:

  • ib_status_get_all()
    Is very similar to ib_cfg_get_all(). This allows the library to add new status variables without applications having to know about them – because we return a list of what there are. For Drizzle, this means that the DATA_DICTIONARY.HAILDB_STATUS table will automatically have any new status variables we add to HailDB without a single extra line of code having to be written.
  • ib_set_panic_handler()
    Having a shared library call exit() is generally considered impolite. Previously, if HailDB hit corruption (or some other nasty conditions), it could call exit() and you’d never get a chance to display a sensible error message to your user (especially bad in a GUI app where the printed to console error message would be unseen). This call allows an …
[Read more]
Upgrading Kubuntu Jaunty to MariaDB 5.2 RC

MariaDB 5.2.2 RC was released a few weeks ago, and last night I finally upgraded my workstation to have a look. I had to perform several APT related steps to upgrade, so these notes are more a commentary on apt(-get) than MariaDB itself (more on that later) and I'm mostly writing this down for future reference, should I need to do this again for the next upgrade.

read more

CB1 Ubuntu 10.10 Linux Development Setup

I use a MacBook Pro for my day-to-day operations here at CB1, INC. I’m a huge believer that a development environment should mimic the production environment, so I find myself running a couple virtual machines in VMware Fusion.

The following guide is a reference for myself as well as possibly a helpful resource for setting up your own Linux development environment. Here’s an checklist of the tasks to perform and software to install:

  • Operating System
    • Ubuntu 10.10 64-bit: I use Ubuntu Desktop in dev and Ubuntu Server in production
    • Package updates and upgrades
    • Network configuration (at least 2 static IP addresses)
  • Development Tools
    • C/C++ development environment
    • Autotools
    • Sun Java JDK
[Read more]
MySQL Disaster Recovery With Tungsten

Disaster recovery (DR) is not the first thing most DBAs think of when putting up a new database application.   However, it's one of the top issues for people using the data--what happens if the site goes down and everything disappears?   So even if DR is not the first issue in every deployment, it is a very high priority as soon as your application is the least bit successful.

At the database level DR has a fairly simple solution:  keep copies of data on a backup site that is up-to-date at all times.  This article explains the architecture for MySQL DR with Tungsten and a couple of key features that make it work, namely floating IP addresses and global transation IDs.  We will dig into those at the end.

First a bit of introduction.  Tungsten manages clusters of off-the-shelf database connected by master/slave replication.  There are replication and management services on …

[Read more]
[MySQL][Spider][VP]Spider-2.23 VP-0.12 released

I'm pleased to announce the release of Spider storage engine version 2.23(beta) and Vertical Partitioning storage engine version 0.12(beta).
Spider is a Storage Engine for database sharding.
http://spiderformysql.com/
Vertical Partitioning is a Storage Engine for vertical partitioning for a table.
http://launchpad.net/vpformysql

The main changes in this version are following.
Spider
- Add server parameter "spider_udf_ct_bulk_insert_interval" and "spider_udf_ct_bulk_insert_rows".

Vertical Partitioning
  This release is bug fix release.

Please see "99_change_logs.txt" in the download documents for checking other changes.

Thanks to Gen, Yoshihiko, Satoko and Makoto for testing for clustering and online schema …

[Read more]
How to install MySQL Gearman UDF on Ubuntu/Debian Linux

Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work. It allows you to do work in parallel, to load balance processing, and to call functions between languages.

Vigor2820n 3.3.4 firmware upgrade also breaks SIP registrations

A few days after writing my last post about problems after upgrading my ADSL router’s firmware I also noticed that my VoIP connections were not working properly. I have several SIP providers and after a day or so of using the new firmware the SIP registrations to my providers started failing.  Initially I thought this [...]

Replication of MEMORY (HEAP) Tables

Some Applications need to store some transient data which is frequently regenerated and MEMORY table look like a very good match for this sort of tasks. Unfortunately this will bite when you will be looking to add Replication to your environment as MEMORY tables do not play well with replication.

The reason is very simple - both STATEMENT and ROW replication contain the changes to the data in binary logs. This requires the data to be same on Master and Slave. When you restart the slave you will lose contents of your MEMORY tables and replication will break. STATEMENT replication will often continue to run, with contents of the table just being
different as there is a little checks whenever statements produce the same results on the slave. ROW replication will
complain about ROW not exist for UPDATE or DELETE operation.

So what you can do ?

Use Innodb Table Instead Innodb is quite fast when it …

[Read more]
Debugging Stored procedures

Over the past several weeks, we’ve been working on debugging a stored procedure bug for a client. Coming from a software development background, I looked at the procedure like any piece of code — how can I debug the program and be able to use some means of knowing the values within the program while it’s running? In C, I’ve always used GDB, as well as Perl having it’s own debugger. Also useful are print statements! Those can be the most simplistic but also useful tools in debugging, especially in the case of a C program that’s so optimized that GDB gives you the famous “value optimized out” message, preventing you from knowing what the program is really doing.

Stored procedures are a whole different matter than compiled or interpreted code. They are executing within the database. The line numbers in your source file you inevitably create the procedure with don’t match the line numbers of the procedure as stored by the …

[Read more]
DBJ – MySQL Character Sets

In our latest article at Database Journal we talk about Character Sets in MySQL.  What are they?  How do they affect searching?  How do they affect data that is inserted or updated?  How can I set and control the for an application or globally in my database?  And what pre-tell is collation?  We answer all these questions and more.

Database Journal – Understanding MySQL Character Sets

Showing entries 21743 to 21752 of 44049
« 10 Newer Entries | 10 Older Entries »