Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский
Showing entries 1 to 20 of 17123 Next 20 Older Entries
451 CAOS Links 2009.08.14
+0 Vote Up -0Vote Down

Peter Fenton’s open source investment tips. Boxee raises $6m. And more.

Follow 451 CAOS Links live @caostheory on Twitter and Identi.ca
“Tracking the open source news wires, so you don’t have to.”

*451 CAOS Links will return on August 25*

Digesting the VMware-SpringSource deal
In the wake of VMware’s acquisition of SpringSource the WSJ examined Peter Fenton’s open source investment portfolio and what he looks for in an open source vendor. Meanwhile Matt Asay noted that VMware’s purchase of SpringSource is the first big acquisition of a company based on an Apache license, while Charles Babcock reported

  [Read more...]
Network IO in the MySQL server
+0 Vote Up -0Vote Down
This note describes how network IO is done using MySQL 5.0.84 on a modern Linux distribution. This description might be incorrect for other platforms because the code has many ifdefs. The functions my_real_read and net_real_write in sql/net_serv.cc read/write data to/from a socket. I describe the implementation of my_real_read but net_real_write is similar. I am interested in this code because it uses the pthread mutex LOCK_alarm and there is a lot of contention for that mutex. I think this code can be made much more efficient. The basic problem is that when MySQL is compiled without defining NO_ALARM, the server uses an alarm thread rather than SO_SNDTIMEO and SO_RCVTIMEO to implement read/write with a timeout. For server-side code, NO_ALARM is only defined for Windows builds. I think the server should be compiled so that SO_SNDTIMEO and SO_RCVTIME are used. Hopefully someone can comment on the  [Read more...]
Sales Engineer Wanted
+0 Vote Up -0Vote Down

Things are growing yet again at work and with it the number of people needed to keep things flowing smoothly. This time it’s the Sales Engineer team that needs a new person, working in the Baltimore/Washington area (our home office):

Responsibilities

  • Provide exemplary pre-sales technical expertise through technical and product presentations, product demonstrations, pilot implementations, beta program administration, consistent communication, and on-going technical consultation.
  • Translate complex technical problems for non-technical clients as well as translating non-technical specifications into precise technical requirements.
  • Meet with clients to evaluate their current systems and needs and make recommendations for software and hardware and integration.
  • Travel approximately 30% in support of sales
  [Read more...]
Drizzle Replication - The CommandReplicator and CommandApplier Plugin API
Employee +2 Vote Up -0Vote Down

OK, so here is the next installment in the Drizzle replication article series. Today, I'll be talking about the flow of the Command message object through the CommandReplicator and CommandApplier APIs. If you missed the first article about the structure of the Command message and Google Protobuffers, you may want to read that first. We'll only be talking in this article about what happens on one server. We will be discussing the Command Log in the next article, and then discuss how messages are passed from one server to another. But, before we discuss those things, it is critical to first understand the CommandReplicator and CommandApplier plugin classes, which

  [Read more...]
Reading other processes memory
Employee_Team +2 Vote Up -0Vote Down
As you probably have experienced yet MySQL does not always provide all internal information as you might want to have them and as you are used to have from other RDBMS.

MySQL plans to improve this implementing the/a performance schema and its probably already partly done in MySQL 5.4. But who knows when this will be finished and what it contains at all...

What is not provided to me I want to gather myself... But how? Other RDBMS provide interfaces to attach applications directly to their memory to retreive information. But MySQL does not. So I was looking for a way to read an other process memory.

I have no clue about programming and thus changing MySQL code was out of focus. Further I am looking for a solution you can use immediately on a running systems at consulting gigs. Some tries to read /proc/

/mem with a little php script failed.

  [Read more...]
SQLyog 8.13 Has Been Released
+5 Vote Up -2Vote Down

Changes (as compared to 8.12) include:

Features:
* SQLyog can be started with a ‘-dir’ switch like “SQLyogENT -dir somefolder”. This -dir switch specifies where SQLyog will look for the sqlyog.ini file and where all writable files will be saved. This was mainly implemented for users that want to have all SQLyog-related files on a removable drive or some kind of encrypted storage. Note that if you use the setting in ‘preferences’ to store TAGS file some specific place the ‘preferences’ setting will still have effect, also if the -dir switch is used.
* Improved/rearranged the GRIDS in Data Sync and Import External Data wizards.
* SJA mail functionality now supports SSL/TLS encryption. This applies to SJA for Linux and SJA for Windows running on Windows, but not  SJA for Windows running on Wine, as we did

  [Read more...]
TOTD #94: A simple Java Server Faces 2.0 + JPA 2.0 application - Getting Started with Java EE 6 using NetBeans 6.8 M1 & GlassFish v3
Employee +0 Vote Up -0Vote Down

TOTD #93 showed how to get started with Java EE 6 using NetBeans 6.8 M1 and GlassFish v3 by building a simple Servlet 3.0 + JPA 2.0 web application. JPA 2.0 + Eclipselink was used for the database connectivity and Servlet 3.0 was used for displaying the results to the user. The sample demonstrated how the two technologies can be mixed to create a simple web application. But Servlets are meant for server-side processing rather than displaying the results to end user. JavaServer Faces 2 (another new specification in Java EE 6) is designed to fulfill that purpose.

This Tip  [Read more...]
Four short links: 14 August 2009
+0 Vote Up -0Vote Down

  1. Page2Pub -- harvest wiki content and turn it into EPub and PDF. See also Sony dropping its proprietary format and moving to EPub. Open standards rock. (via oreillylabs on Twitter)
  2. SQL Pie Chart -- an ASCII pie chart, drawn by SQL code. Horrifying and yet inspiring. Compare to PostgreSQL code to produce ASCII Mandelbrot set. (via jdub on Twitter and Simon Willison)
  [Read more...]
On partial indexes for string columns
+0 Vote Up -0Vote Down

After reading Fernando Ipar’s interesting post on partial indexes for string columns, there were two things I wanted to note:

First, this trick works quite well, but only if your like clauses only ever use the wildcard on the right hand side (or not at all). MySQL will not be able to use the index if the like contains a wildcard on the left.

Consider the following table definition:

mysql> show create table people\G
*************************** 1. row ***************************
Table: people
Create Table: CREATE TABLE `people` (
`person_id` int(15) NOT NULL default '0',
`username` varchar(255) default NULL,
`email` varchar(255) default NULL,
PRIMARY KEY (`person_id`),
KEY `people_username` (`username`(5))
) ENGINE=MyISAM

  [Read more...]
Columnar Database: A Strong Choice For Marketers
+0 Vote Up -2Vote Down

According to Chris Dunne, VP of Market Development for ChoicePoint Precision Marketing, part of LexisNexis, “Improved marketing efficiency, increased intelligence and lower overall costs are all possible with a columnar database structure. Database marketers should investigate the advantages this new approach could bring to their own marketing systems”

As the adoption and use of columnar databases grow in the world of marketing, companies like LexisNexis Choicepoint and others will likely experience significant costs savings as Chris further points out by stating “Another benefit of using columnar database solutions is the lower cost of ownership”. Chris attributes this to columnar requiring “less throughput capacity than their traditional full-table file counterparts, hardware requirements are reduced. Expensive large-scale disks can be

  [Read more...]
MySQL Performance: InnoDB plugin-1.0.4 & others @dbSTRESS
+1 Vote Up -0Vote Down

This post is an update of my previous one about XtraDB-6 performance - as InnoDB plugin-1.0.4 announce came the same day I did not have yet any benchmark results on that time :-)

To be short, the new InnoDB plugin looks very positive and have several very valuable improvement (and of course we expected to see them much more earlier, no? ;-) on the same time analyzing all latest updates - probably it's the first sign that things will go much more faster in the near future? ;-)

Anyway, what I liked with this release:

  • group commit is back! (and we should thank a lot Percona team for their efforts to get it fixed! ;-)
  • configurable number of I/O threads and I/O capacity (aligned now with XtraDB, Google patched and MySQL 5.4)
  [Read more...]
XtraDB: The Top 10 enhancements
+3 Vote Up -1Vote Down

Note: This post is part 2 of 4 on building our training workshop.

Last week I talked about why you don’t want to shard. This week I’m following up with the top 10 enhancements that XtraDB has over the built-in InnoDB included in MySQL 5.0 and 5.1.  Building this list was not really a scientific process – It’s always difficult to say which feature is better than another, because a lot of it depends on the individual workload.  My ranking method was to pick the features that have the highest impact and are most applicable to all workloads first:

  1. CPU scalability fixes – XtraDB
  [Read more...]
Using NDB API Events to mask/hide colum data when replicating
Employee +0 Vote Up -0Vote Down

If you  have asynchronous replication where the slave database is using MySQL Cluster then you can use the NDB API events functionality to mask/overwrite data. You might do this for example if the replica is to be used for generating reports where some of the data is sensitive and not relevant to those reports. Unlike stored procedures, NDB API events will be triggered on the slave.

The first step is to set up replication (master->slave rather than multi-master) as described in Setting up MySQL Asynchronous Replication for High Availability).

In this example, the following table definition is used:

mysql> use clusterdb;
mysql> create table ASSETS (CODE int not null primary key, VALUE
  [Read more...]
TOTD #93: Getting Started with Java EE 6 using NetBeans 6.8 M1 & GlassFish v3 - A simple Servlet 3.0 + JPA 2.0 app
Employee +0 Vote Up -1Vote Down

NetBeans 6.8 M1 introduces support for creating Java EE 6 applications ... cool!

This Tip Of The Day (TOTD) shows how to create a simple web application using JPA 2.0 and Servlet 3.0 and deploy on GlassFish v3 latest promoted build (58 as of this writing). If you can work with the one week older build then NetBeans 6.8 M1 comes pre-bundled with 57. The example below should work fine on that as well.
  1. Create the database, table, and populate some data into it as shown below:

      [Read more...]
    A decade of open source IPOs
    +0 Vote Up -0Vote Down

    Red Hat is celebrating the 10 year anniversary of its initial public offering. An anniversary to be proud of for Red Hat, but one that has given The VAR Guy pause for thought about the relative success of open source in the past 10 years.

    “Would anyone have predicted that no additional open source companies would launch IPOs over the next decade? Ten years without an open source IPO … amazing and somewhat depressing for open source business advocates,” writes the VAR Guy.

    It is somewhat depressing that there are not more public open source vendors. However, the statement

      [Read more...]
    Fun With Information Schema!!
    +4 Vote Up -0Vote Down
    Lately, I've had a few people ask me "How much data is in our database?". Sure, you can look at the file sizes of MyISAM tables and indexes and get a ballpark figure, but what if you need exact results, or are running InnoDB storage engine? That proves to be more challenging! In playing around with the information_schema, I've put together some queries to help:

    Calculate index sizes

    mysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 2), ' GB') AS 'Total Index Size'
    FROM information_schema.TABLES WHERE table_schema LIKE 'database';

    +------------------+
    | Total Index Size |
    +------------------+
    | 1.70 GB |
    +------------------+
    1 row in set (1.60 sec)


    To calculate the total size of the data in the database
      [Read more...]
    Group commit and InnoDB
    +2 Vote Up -0Vote Down
    The InnoDB 1.0.4 plugin for MySQL 5.1 supports group commit. This is a big improvment for high-throughput workloads. I read the post from Yoshinori and then the source to understand the change. As I don't think I have ever described this correctly, I wanted to write it down for future reference. The protocol used to keep the binlog and InnoDB in sync on commit is implemented by ha_commit_trans and does the following:
    1. call binlog_prepare which does nothing
    2. call innodb_xa_prepare
      • call trx_prepare_for_mysql which writes the InnoDB in memory transaction log buffer to the current log file. The data written to the log file may include redo for other transactions so the optional fsync call done in this step may be amortized over several transactions. It then forces the writes to
      [Read more...]
    Indexing text columns in MySQL
    +2 Vote Up -0Vote Down

    This time, I’m talking about indexes for string typed columns. In particular, I’ll show a procedure I find useful while looking for good index length values for these columns.


    I’ll use a sample table called people.


    Here’s what it looks like:


    mysql> desc people;
    +————+——————+——+—–+———+—————-+
    | Field      | Type             | Null | Key | Default | Extra          |
    +————+——————+——+—–+———+—————-+
    | id         | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
    | title      | varchar(250)     | NO   |     | NULL    |
      [Read more...]
    InnoDB Plugin 1.0.4 Now Available
    Employee_Team +0 Vote Up -0Vote Down
    ALT DESCR

    Ken Jacobs (Dr. DBA) has Announced Plugin 1.0.4. This release has significant performance improvements, including a number of key 3rd Party Contributions. Reactions from the community so far seem very positive ([

      [Read more...]
A Free Text Editor for Very Large / Huge Files on Windows
+2 Vote Up -0Vote Down
Every once in a while a programmer finds himself in need of a tool that allows him to edit very large text files. By large, I mean several gigabytes. For DBAs it is common, especially if you’re using MySQL dumps a lot. What do you do if you’re doing this on Windows?
If you’re using Notepad++ or any other Scintilla derivatives, you’re out of luck - those editors are not cut out for this kind of work. Using Visual Studio also won’t work. There are some partial solutions just for viewing, like LTFViewer – but it cannot handle large files without line breaks, something common in MySQL dumps. So what do you do?
The answer is simple and somewhat unexpected –  [Read more...]
Showing entries 1 to 20 of 17123 Next 20 Older Entries

PlanetMySQL © 1995-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.