<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PlanetMysql.ru - информация о СУБД MySQL &#187; RDS</title>
	<atom:link href="http://planetmysql.ru/category/rds/feed/" rel="self" type="application/rss+xml" />
	<link>http://planetmysql.ru</link>
	<description>Блог о самой популярной СУБД MySQL</description>
	<lastBuildDate>Fri, 10 Feb 2012 22:53:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>InnoDB disabled if ib_logfile files corrupted</title>
		<link>http://www.binarysludge.com/2012/02/09/innodb-disabled-if-ib_logfile-files-corrupted/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=innodb-disabled-if-ib_logfile-files-corrupted</link>
		<comments>http://www.binarysludge.com/2012/02/09/innodb-disabled-if-ib_logfile-files-corrupted/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 19:07:20 +0000</pubDate>
		<dc:creator>Andrew Martin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[RDS]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.binarysludge.com/?p=810</guid>
		<description><![CDATA[I recently came across a dev VM running MySQL 5.0.77 (an old release, 28 January 2009) that didn&#8217;t have InnoDB available. skip-innodb wasn&#8217;t set, SHOW VARIABLES LIKE '%innodb%' looked as expected, but with one exception: the value of have-innodb was DISABLED.
I confirmed this with SHOW ENGINES:
(root@localhost) [(none)]&#62; show engines;
+------------+----------+----------------------------------------------------------------+
&#124; Engine     &#124; Support  &#124; Comment                                                        &#124;
+------------+----------+----------------------------------------------------------------+
&#124; MyISAM     &#124; DEFAULT  &#124; Default engine as of MySQL 3.23 with great performance         &#124;
&#124; MEMORY     &#124; YES      &#124; Hash based, stored in memory, useful for temporary tables      &#124;
&#124; InnoDB     &#124; DISABLED &#124; Supports transactions, row-level locking, and foreign keys     &#124;
...

(and chuckled to myself over the comment about MyISAM&#8217;s performance)
/var/log/mysqld.log yielded the answer:

120127 17:17:51  mysqld started
120127 17:17:51 [Warning] /usr/libexec/mysqld: ignoring option '--engine-condition-pushdown' due to invalid value 'InnoDB'
InnoDB: Error: log file ./ib_logfile0 is of different size 0 20971520 bytes
InnoDB: than specified in the .cnf file 0 104857600 bytes!
120127 17:17:51 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.77-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution

innodb_file_per_table was not set on this VM, and when the InnoDB log files had become corrupted and were not recognised, the engine couldn&#8217;t start. These ib_logfile files are the crash recovery logs:
The unsung heroes of InnoDB are the logfiles. They are what makes InnoDB automatic crash recovery possible.
Database administrators of other DBMS may be familiar with the concept of a “redo” log. When data is changed, affected data pages are changed in the innodb_buffer_pool. Then, the change is written to the redo log, which in MySQL is the InnoDB logfile (ib_logfile0 and ib_logfile1). The pages are marked as “dirty”, and eventually get flushed and written to disk.
If MySQL crashes, there may be data that is changed that has not been written to disk. Those data pages were marked as “dirty” in the innodb_buffer_pool, but after a MySQL crash the innodb_buffer_pool no longer exists. However, they were written to the redo log. On crash recovery, MySQL can read the redo log (InnoDB log files) and apply any changes that were not written to disk.
The solution is to move the logs and allow InnoDB to recreate them. Don&#8217;t delete them &#8211; you may need them if your server has crashed or in case of data loss.

/etc/init.d/mysql stop
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak
/etc/init.d/mysql start

With the files absent, InnoDB recreates them and the engine is loaded successfully.
Of note: when this problem occurs, MySQL 5.0.77 erroneously returns this:

(root@some_host) [some_db]&#62; SHOW ENGINE INNODB STATUS;
ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined]]></description>
			<content:encoded><![CDATA[<p><img title="InnoDB" src="http://c213.r13.cf3.rackcdn.com/InnoDB.gif" alt="InnoDB" /><br />
I recently came across a dev VM running MySQL 5.0.77 (an <strong>old release</strong>, 28 January 2009) that didn&#8217;t have InnoDB available. <code>skip-innodb</code> wasn&#8217;t set, <code>SHOW VARIABLES LIKE '%innodb%'</code> looked as expected, but with one exception: the value of <code>have-innodb</code> was <code>DISABLED</code>.</p>
<p>I confirmed this with <code>SHOW ENGINES</code>:</p>
<pre>(root@localhost) [(none)]> show engines;
+------------+----------+----------------------------------------------------------------+
| Engine     | Support  | Comment                                                        |
+------------+----------+----------------------------------------------------------------+
| MyISAM     | DEFAULT  | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES      | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | DISABLED | Supports transactions, row-level locking, and foreign keys     |
...
</pre>
<p>(and chuckled to myself over the comment about MyISAM&#8217;s performance)</p>
<p><code>/var/log/mysqld.log</code> yielded the answer:</p>
<pre>
120127 17:17:51  mysqld started
120127 17:17:51 [Warning] /usr/libexec/mysqld: ignoring option '--engine-condition-pushdown' due to invalid value 'InnoDB'
InnoDB: Error: log file ./ib_logfile0 is of different size 0 20971520 bytes
InnoDB: than specified in the .cnf file 0 104857600 bytes!
120127 17:17:51 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.77-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution
</pre>
<p><code>innodb_file_per_table</code> was not set on this VM, and when the InnoDB log files had become corrupted and were not recognised, the engine couldn&#8217;t start. These <code>ib_logfile</code> files are <a href="http://www.pythian.com/news/1242/innodb-logfiles/">the crash recovery logs</a>:</p>
<blockquote><p>The unsung heroes of InnoDB are the logfiles. They are what makes InnoDB automatic crash recovery possible.</p>
<p>Database administrators of other DBMS may be familiar with the concept of a “redo” log. When data is changed, affected data pages are changed in the innodb_buffer_pool. Then, the change is written to the redo log, which in MySQL is the InnoDB logfile (ib_logfile0 and ib_logfile1). The pages are marked as “dirty”, and eventually get flushed and written to disk.</p>
<p>If MySQL crashes, there may be data that is changed that has not been written to disk. Those data pages were marked as “dirty” in the innodb_buffer_pool, but after a MySQL crash the innodb_buffer_pool no longer exists. However, they were written to the redo log. On crash recovery, MySQL can read the redo log (InnoDB log files) and apply any changes that were not written to disk.</p></blockquote>
<p>The solution is to move the logs and allow InnoDB to recreate them. <strong>Don&#8217;t delete them</strong> &#8211; you may need them if your server has crashed or in case of data loss.</p>
<pre>
/etc/init.d/mysql stop
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak
/etc/init.d/mysql start
</pre>
<p>With the files absent, InnoDB recreates them and the engine is loaded successfully.</p>
<p>Of note: when this problem occurs, MySQL 5.0.77 erroneously returns this:</p>
<pre>
(root@some_host) [some_db]> SHOW ENGINE INNODB STATUS;
ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined
</pre>
<p><br/></p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=31964&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=31964&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2012/02/09/innodb-disabled-if-ib_logfile-files-corrupted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparing Cloud Databases: SimpleDB, RDS and ScaleDB</title>
		<link>http://scaledb.com/blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comparing-cloud-databases-simpledb-rds-and-scaledb</link>
		<comments>http://scaledb.com/blog/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 22:03:07 +0000</pubDate>
		<dc:creator>Mike Hogan</dc:creator>
				<category><![CDATA[amazon]]></category>
		<category><![CDATA[business model]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[RDS]]></category>
		<category><![CDATA[scaledb]]></category>
		<category><![CDATA[simpleDB]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scaledb.com/blog/</guid>
		<description><![CDATA[Amazon&#8217;s SimpleDB isn&#8217;t a relational database, but it does provide elastic scalability and high-availability. Amazon&#8217;s recently announced Relational Database Services (RDS) is a relational database, but it doesn&#8217;t provide elastic scalability or high-availability. If you are deploying enterprise applications on the cloud (including Amazon Web Services), you might want to look at ScaleDB because it is a relational database and it does provide elastic scalability and high-availability.
Amazon describes SimpleDB by comparing it to a clustered database:
&#34;A traditional, clustered relational database requires a sizable upfront capital outlay, is complex to design, and often requires extensive and repetitive database administration. Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing your data and providing a simple API for storage and access. This approach eliminates the administrative burden of data modeling, index maintenance, and performance tuning. Developers gain access to this functionality within Amazon&#8217;s proven computing environment, are able to scale instantly, and pay only for what they use.&#34;
In other words, if there was a clustered database that was cost-efficient, simple, low-maintenance, and provided dynamic elasticity, that would be ideal. That is exactly what ScaleDB provides. Granted it isn&#8217;t as simple to use as SimpleDB (just look at the name, one is simple, the other is scale) but it does eliminate data partitioning and slaves/replication, both of which account for the bulk of the pain in clustering. ScaleDB also runs MySQL applications without modification.
Amazon, in a nod to SQL developers and MySQL applications, released Relational Database Services (RDS) this week. This too comes up short of Amazon&#8217;s ideal of a dynamically scalable and highly available MySQL database. Again, that is exactly what ScaleDB provides.
Comparing SimpleDB, RDS and ScaleDB 



Function 

SimpleDB 


RDS 


ScaleDB 



Transactions

No


Yes


Yes



Joins

No


Yes


Yes1 



Data   Consistency

No   (Eventual)


Yes


Yes2 



SQL   Support

No


Yes


Yes



ACID   Compliant

No


Yes


Yes



Exploits   EBS

No


Yes


Yes



Supports   MySQL applications without modification

No


Yes


Yes



Dynamic   Elasticity (w/o interrupting the application)

Yes


No


Yes



High-Availability

Yes


No


Yes



Eliminates   Partitioning

Yes


No


Yes



Eliminates   possible 5-minute data loss upon failure

Yes


No


Yes



Cluster-level   load balancing

Yes


No


Yes




1The ScaleDB index delivers multi-table joins with the performance of a single table lookup using a technology that rivals materialized views but without the data synchronization headache.
2ScaleDB&#8217;s shared-disk architecture ensures data consistency across all nodes in the cluster.
ScaleDB is a storage engine that plugs into MySQL. It turns MySQL into a shared-disk DBMS, like Oracle RAC. ScaleDB, running on AWS provides elastic scalability, adding/removing nodes according to the number of database connections, all without interrupting any running applications. Also, because ScaleDB doesn&#8217;t rely on data partitioning-as you would with shared-nothing databases-the set-up and tuning are very simple.
SimpleDB and RDS are very good and they have their roles. However, I believe that ScaleDB is really the high-end solution, without the high-end price-that enterprise users of the cloud are looking for.]]></description>
			<content:encoded><![CDATA[<p>Amazon&#8217;s SimpleDB <span>isn&#8217;t</span> a relational database, but it <span>does</span> provide elastic scalability and high-availability. Amazon&#8217;s recently announced Relational Database Services (RDS) <span>is</span> a relational database, but it <span>doesn&#8217;t</span> provide elastic scalability or high-availability. If you are deploying enterprise applications on the cloud (including Amazon Web Services), you might want to look at ScaleDB because it <span>is</span> a relational database and it <span>does</span> provide elastic scalability and high-availability.</p>
<p>Amazon describes SimpleDB by comparing it to a clustered database:</p>
<blockquote><p>&quot;A traditional, clustered relational database requires a sizable upfront capital outlay, is complex to design, and often requires extensive and repetitive database administration. Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing your data and providing a simple API for storage and access. This approach eliminates the administrative burden of data modeling, index maintenance, and performance tuning. Developers gain access to this functionality within Amazon&#8217;s proven computing environment, are able to scale instantly, and pay only for what they use.&quot;</p></blockquote>
<p>In other words, if there was a clustered database that was cost-efficient, simple, low-maintenance, and provided dynamic elasticity, that would be ideal. That is exactly what ScaleDB provides. Granted it isn&#8217;t as simple to use as SimpleDB (just look at the name, one is simple, the other is scale) but it does eliminate data partitioning and slaves/replication, both of which account for the bulk of the pain in clustering. ScaleDB also runs MySQL applications without modification.</p>
<p>Amazon, in a nod to SQL developers and MySQL applications, released Relational Database Services (RDS) this week. This too comes up short of Amazon&#8217;s ideal of a dynamically scalable and highly available MySQL database. Again, that is exactly what ScaleDB provides.</p>
<p><strong><span>Comparing SimpleDB, RDS and ScaleDB</span> </strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="566">
<tbody>
<tr>
<td width="253" valign="top"><strong><span>Function</span> </strong></td>
<td width="126" valign="top">
<p align="center"><strong><span>SimpleDB</span> </strong></p>
</td>
<td width="104" valign="top">
<p align="center"><strong><span>RDS</span> </strong></p>
</td>
<td width="83" valign="top">
<p align="center"><strong><span>ScaleDB</span> </strong></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Transactions</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Joins</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes<sup>1</sup> </span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Data   Consistency</span></td>
<td width="126" valign="top">
<p align="center"><span>No   (Eventual)</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes<sup>2</sup> </span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>SQL   Support</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>ACID   Compliant</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Exploits   EBS</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Supports   MySQL applications without modification</span></td>
<td width="126" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Dynamic   Elasticity (w/o interrupting the application)</span></td>
<td width="126" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>High-Availability</span></td>
<td width="126" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Eliminates   Partitioning</span></td>
<td width="126" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Eliminates   possible 5-minute data loss upon failure</span></td>
<td width="126" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
<tr>
<td width="253" valign="top"><span>Cluster-level   load balancing</span></td>
<td width="126" valign="top">
<p align="center"><span>Yes</span></p>
</td>
<td width="104" valign="top">
<p align="center"><span>No</span></p>
</td>
<td width="83" valign="top">
<p align="center"><span>Yes</span></p>
</td>
</tr>
</tbody>
</table>
<p>1The ScaleDB index delivers multi-table joins with the performance of a single table lookup using a technology that rivals materialized views but without the data synchronization headache.</p>
<p>2ScaleDB&#8217;s shared-disk architecture ensures data consistency across all nodes in the cluster.</p>
<p>ScaleDB is a storage engine that plugs into MySQL. It turns MySQL into a shared-disk DBMS, like Oracle RAC. ScaleDB, running on AWS provides elastic scalability, adding/removing nodes according to the number of database connections, all without interrupting any running applications. Also, because ScaleDB doesn&#8217;t rely on data partitioning-as you would with shared-nothing databases-the set-up and tuning are very simple.</p>
<p>SimpleDB and RDS are very good and they have their roles. However, I believe that ScaleDB is really the high-end solution, without the high-end price-that enterprise users of the cloud are looking for.</p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=21994&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=21994&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2009/10/30/comparing-cloud-databases-simpledb-rds-and-scaledb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

