<?xml version="1.0" encoding="UTF-8"?>

<rss version='2.0' 
     xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
     xmlns:doap="http://usefulinc.com/ns/doap#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

    <channel>
        <!-- This XML Feed shows details for the page database 
             and everything recently tagged database -->
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/
          </creativeCommons:license>
        <title>database on SWiK</title>
        <doap:name>database</doap:name>
        <doap:description>&lt;p&gt;Databases collect information in a systematic way, and programs consult them to answer questions about the data, commonly through a language such as &lt;a class="wikilink" href="http://swik.net/SQL"&gt;&lt;span class="caps"&gt;SQL&lt;/span&gt;&lt;/a&gt;. The software used to manage and query a database is known as a database management system (&lt;a class="wikilink" href="http://swik.net/DBMS"&gt;&lt;span class="caps"&gt;DBMS&lt;/span&gt;&lt;/a&gt;).&lt;/p&gt;


Common open source databases include:
	&lt;ol&gt;
	&lt;li&gt;&lt;a class="wikilink" href="http://swik.net/MySQL"&gt;MySQL&lt;/a&gt; &amp;#8211; most popular, includes a stripped down, simple and fast database engine MyISAM&lt;/li&gt;
		&lt;li&gt;&lt;a class="wikilink" href="http://swik.net/PostgreSQL"&gt;PostgreSQL&lt;/a&gt; &amp;#8211; robust and feature solid&lt;/li&gt;
		&lt;li&gt;&lt;a class="wikilink" href="http://swik.net/SQLite"&gt;SQLite&lt;/a&gt; &amp;#8211; simple and embeddable database&lt;/li&gt;
		&lt;li&gt;&lt;a class="wikilink" href="http://swik.net/Firebird"&gt;Firebird&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="wikilink" href="http://swik.net/Virtuoso"&gt;Virtuoso&lt;/a&gt; &amp;#8211; Newly open sourced database engine that supports &lt;span class="caps"&gt;SQL&lt;/span&gt;, XML, and &lt;span class="caps"&gt;RDF&lt;/span&gt; Data Management. This is one of the first Open Source &lt;span class="caps"&gt;DBMS&lt;/span&gt; Engines with  &lt;span class="caps"&gt;SQL&lt;/span&gt;-XML, &lt;span class="caps"&gt;SPARQL&lt;/span&gt; Query Language, GData Protocol, and Atom 1.0 publishing support amongst a vast pool of additional features.&lt;/li&gt;
	&lt;/ol&gt;
</doap:description>
        <description>Databases collect information in a systematic way, and programs consult them to answer questions about the data, commonly through a language such as SQL. The software used to manage and query a database is known as a database management system (DBMS).


Common open source databases include:
	
	MySQL &amp;#8211; most popular, includes a stripped down, simple and fast database engine MyISAM
		PostgreSQL &amp;#8211; robust and feature solid
		SQLite &amp;#8211; simple and embeddable database
		Firebird
		Virtu</description> 
	  <!-- see doap:description for full description -->
        <link>http://swik.net/database</link>
        <doap:homepage></doap:homepage>
        
        <pubDate>Thu, 27 Oct 2005 15:41:05 -0700</pubDate>
        <lastBuildDate>Fri, 30 Mar 2007 18:18:37 -0700</lastBuildDate>
            
        <item>
            <title>Elixir – Trac</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/Elixir+%E2%80%93+Trac/cc6hy</link>
            <description>Elixir is a declarative layer on top of the SQLAlchemy library. It is a fairly thin wrapper, which provides the ability to create simple Python classes that map directly to relational database tables (this pattern is often referred to as the Active Record design pattern), providing many of the benefits of traditional databases without losing the convenience of Python objects.</description>
            
            <pubDate>Fri, 29 Aug 2008 16:57:12 -0700</pubDate>
        </item>
            
        <item>
            <title>hibernate.org - Hibernate Shards</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/hibernate.org+-+Hibernate+Shards/cc6cg</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 15:56:57 -0700</pubDate>
        </item>
            
        <item>
            <title>BibSonomy ::</title>
            <link>http://swik.net/bibtex/del.icio.us%2Ftag%2Fbibtex/BibSonomy+%3A%3A/cc564</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 14:59:15 -0700</pubDate>
        </item>
            
        <item>
            <title>Async I/O to fix Ruby&#039;s green threads: Creators of NeverBlock  and Revactor interviewed</title>
            <link>http://swik.net/technology/dzone.com%3A+tech+links/Async+I%2FO+to+fix+Ruby%27s+green+threads%3A+Creators+of+NeverBlock++and+Revactor+interviewed/cc50i</link>
            <description>&lt;a href=&quot;http://www.dzone.com/links/rss/async_io_to_fix_rubys_green_threads_creators_of_n.html&quot;&gt;&lt;img src=&quot;http://www.dzone.com/links/images/thumbs/120x90/108291.jpg&quot; style=&quot;width:120;height:90;margin:6;float:left;vertical-align:top;border:1px solid #ccc;&quot;/&gt;&lt;/a&gt; Ruby 1.9&#039;s Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock (Async PostgreSQL and MySQL drivers using Ruby Fibers) project and Tony Arcieri of the Revactor (Erlang-style Actors) project.&lt;img src=&quot;http://feeds.dzone.com/~r/dzone/frontpage/~4/378387942&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
            
            <pubDate>Fri, 29 Aug 2008 13:58:55 -0700</pubDate>
        </item>
            
        <item>
            <title>Welcome to Hadoop!</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/Welcome+to+Hadoop%21/cc5z8</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 13:57:25 -0700</pubDate>
        </item>
            
        <item>
            <title>JODB - The Free Object Database for Java</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/JODB+-+The+Free+Object+Database+for+Java/cc5nu</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 11:58:04 -0700</pubDate>
        </item>
            
        <item>
            <title>mojoPortal - Setting a Data Layer Reference in MonoDevelop</title>
            <link>http://swik.net/monodevelop/del.icio.us+tag%2Fmonodevelop/mojoPortal+-+Setting+a+Data+Layer+Reference+in+MonoDevelop/cc4xx</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 08:56:39 -0700</pubDate>
        </item>
            
        <item>
            <title>Tokyo Cabinet: a modern implementation of DBM</title>
            <link>http://swik.net/QDBM/del.icio.us+tag%2Fqdbm/Tokyo+Cabinet%3A+a+modern+implementation+of+DBM/cc4g8</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 06:56:53 -0700</pubDate>
        </item>
            
        <item>
            <title>heise online - 28.08.08 - Open-Source-Stack für Datenbank-Cluster</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/heise+online+-+28.08.08+-+Open-Source-Stack+f%C3%BCr+Datenbank-Cluster/cc3wu</link>
            <description>Der Tungsten Database Scale-out Stack von Continuent bietet Mechanismen zur Replikation von Open-Source- und proprietären Datenbanken.</description>
            
            <pubDate>Fri, 29 Aug 2008 03:56:53 -0700</pubDate>
        </item>
            
        <item>
            <title>Using Hibernate with the Java Persistence API</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/Using+Hibernate+with+the+Java+Persistence+API/cc3o3</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 02:56:39 -0700</pubDate>
        </item>
            
        <item>
            <title>DBSlayer - Trac</title>
            <link>http://swik.net/json/del.icio.us%2Ftag%2Fjson/DBSlayer+-+Trac/cc3mf</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 02:05:45 -0700</pubDate>
        </item>
            
        <item>
            <title>Jitterbit Open Source Integration - Business Integration Made Easy.</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Jitterbit+Open+Source+Integration+-+Business+Integration+Made+Easy./cc3lf</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 02:04:41 -0700</pubDate>
        </item>
            
        <item>
            <title>Open Source Native XML Database</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Open+Source+Native+XML+Database/cc3k9</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 02:04:41 -0700</pubDate>
        </item>
            
        <item>
            <title>hibernate.org - Java Persistence with Hibernate</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/hibernate.org+-+Java+Persistence+with+Hibernate/cc3h1</link>
            <description>Hibernate, like all other object/relational mapping tools, requires metadata that governs the transformation of data from one representation to the other (and vice versa). As an option, you can now use JDK 5.0 annotations for object/relational mapping with Hibernate 3.2. You can use annotations in addition to or as a replacement of XML mapping metadata.</description>
            
            <pubDate>Fri, 29 Aug 2008 02:00:45 -0700</pubDate>
        </item>
            
        <item>
            <title>Hibernate Annotations</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/Hibernate+Annotations/cc3hz</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 02:00:45 -0700</pubDate>
        </item>
            
        <item>
            <title>Sedna XML database</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Sedna+XML+database/cc3be</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 00:58:15 -0700</pubDate>
        </item>
            
        <item>
            <title>XML database - Wikipedia, the free encyclopedia</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/XML+database+-+Wikipedia%2C+the+free+encyclopedia/cc3bc</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 00:58:15 -0700</pubDate>
        </item>
            
        <item>
            <title>DBViewer Plugin for Eclipse</title>
            <link>http://swik.net/Eclipse/del.icio.us%2Ftag%2Feclipse/DBViewer+Plugin+for+Eclipse/cc3aj</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 00:58:02 -0700</pubDate>
        </item>
            
        <item>
            <title>12 things I bet you didn&#039;t know about Hibernate | Learning by Experience</title>
            <link>http://swik.net/Hibernate/del.icio.us+tag%2Fhibernate/12+things+I+bet+you+didn%27t+know+about+Hibernate+%7C+Learning+by+Experience/cc27r</link>
            <description></description>
            
            <pubDate>Fri, 29 Aug 2008 00:55:16 -0700</pubDate>
        </item>
            
        <item>
            <title>Open Source Native XML Database</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Open+Source+Native+XML+Database/cc240</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 23:58:01 -0700</pubDate>
        </item>
            
        <item>
            <title>Community</title>
            <link>http://swik.net/opensource/del.icio.us+tag%2Fopensource/Community/cc220</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 23:56:28 -0700</pubDate>
        </item>
            
        <item>
            <title>liba52 - a free ATSC A/52 stream decoder</title>
            <link>http://swik.net/MythTV/del.icio.us%2Ftag%2Fmythtv/liba52+-+a+free+ATSC+A%2F52+stream+decoder/cc21i</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 23:51:43 -0700</pubDate>
        </item>
            
        <item>
            <title>Build a PL/SQL Web Service</title>
            <link>http://swik.net/XML/del.icio.us%2Ftag%2Fxml/Build+a+PL%2FSQL+Web+Service/cc2n1</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 20:57:48 -0700</pubDate>
        </item>
            
        <item>
            <title>How to Generate Hibernate Pojo Classes from DB Tables - wikiHow</title>
            <link>http://swik.net/POJO/del.icio.us%2Ftag%2Fpojo/How+to+Generate+Hibernate+Pojo+Classes+from+DB+Tables+-+wikiHow/cc060</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 18:09:43 -0700</pubDate>
        </item>
            
        <item>
            <title>NeverBlock, MySQL and MySQLPlus</title>
            <link>http://swik.net/technology/dzone.com%3A+tech+links/NeverBlock%2C+MySQL+and+MySQLPlus/cc0zq</link>
            <description>&lt;a href=&quot;http://www.dzone.com/links/rss/neverblock_mysql_and_mysqlplus.html&quot;&gt;&lt;img src=&quot;http://www.dzone.com/links/images/thumbs/120x90/108066.jpg&quot; style=&quot;width:120;height:90;margin:6;float:left;vertical-align:top;border:1px solid #ccc;&quot;/&gt;&lt;/a&gt; I have great news for MySQL users. A very nice side effect has emerged from the development of the NeverBlock support for MySQL. I am glad to announce the release of a new MySQL driver for Ruby applications. It builds on top of the original Ruby MySQL driver but it comes with two notable additions&lt;img src=&quot;http://feeds.dzone.com/~r/dzone/frontpage/~4/377540568&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
            
            <pubDate>Thu, 28 Aug 2008 18:09:05 -0700</pubDate>
        </item>
            
        <item>
            <title>CSDN技术中心 Hibernate、iBATIS 与 BLOB</title>
            <link>http://swik.net/iBATIS/del.icio.us%2Ftag%2Fibatis/CSDN%E6%8A%80%E6%9C%AF%E4%B8%AD%E5%BF%83+Hibernate%E3%80%81iBATIS+%E4%B8%8E+BLOB/cc0xi</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 18:08:06 -0700</pubDate>
        </item>
            
        <item>
            <title>iBATIS - Accessing Multiple Instances of Databases from Your Application | Programming Resources</title>
            <link>http://swik.net/iBATIS/del.icio.us%2Ftag%2Fibatis/iBATIS+-+Accessing+Multiple+Instances+of+Databases+from+Your+Application+%7C+Programming+Resources/cc0xh</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 18:08:06 -0700</pubDate>
        </item>
            
        <item>
            <title>Apache iBATIS iBATOR</title>
            <link>http://swik.net/iBATIS/del.icio.us%2Ftag%2Fibatis/Apache+iBATIS+iBATOR/cc0w6</link>
            <description></description>
            
            <pubDate>Thu, 28 Aug 2008 18:08:05 -0700</pubDate>
        </item>
            
        <item>
            <title>PyWorks Conference Schedule Posted</title>
            <link>http://swik.net/MySQL/Planet+MySQL/PyWorks+Conference+Schedule+Posted/cc0hx</link>
            <description>&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;The schedule for PyWorks has been &lt;a href=&quot;http://pyworks.mtacon.com/c/schedule&quot;&gt;posted&lt;/a&gt;! I&amp;#8217;m really excited about three things:&lt;/p&gt;
&lt;p&gt;1) there are some really cool talks that I&amp;#8217;m looking forward to attending. There are a couple of sysadmin-related talks, AppEngine, TurboGears, Django, and an area I&amp;#8217;ve been especially slow to move into: testing (I know, shame on me). There&amp;#8217;s lots more so be sure to check it out.&lt;/p&gt;
&lt;p&gt;2) the conference scheduling process is over &lt;img src=&quot;http://www.protocolostomy.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot;/&gt; &lt;/p&gt;
&lt;p&gt;3) I get to meet a lot of people face-to-face that I&amp;#8217;ve worked with in the past on Python Magazine developing articles, or interacted with on IRC, etc. One thing I like about conferences surrounding open source technologies is you get to thank people face-to-face for the sweat they poured into some of the tools I use regularly. Mark Ramm, Kevin Dangoor, Michael Foord, Brandon Rhodes, and a collection of Python Magazine authors will be speaking there, and other Python Magazine folks and generally familiar faces will be in attendance.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;For those still unaware, PyWorks will be held in Atlanta, Nov. 12-14, 2008. It&amp;#8217;s sponsored by MTA, the publisher of Python Magazine, as well as php|architect. In fact, the php|works conference will be held simultaneously with PyWorks, and attendees of one are free to access talks in the other at will. There will also be a &amp;#8220;center track&amp;#8221; that will cover some more generic topics of interest to developers without regard to the language in use. &lt;a href=&quot;http://pyworks.mtacon.com/c/schedule&quot;&gt;Check it out&lt;/a&gt;!&lt;/p&gt;

  addthis_url    = &#039;http%3A%2F%2Fwww.protocolostomy.com%2F2008%2F08%2F27%2Fpyworks-conference-schedule-posted%2F&#039;;
  addthis_title  = &#039;PyWorks+Conference+Schedule+Posted&#039;;
  addthis_pub    = &#039;jonesy&#039;;
</description>
            
            <pubDate>Thu, 28 Aug 2008 18:05:40 -0700</pubDate>
        </item>
            
        <item>
            <title>More Adventures in Amazon EC2 (and EBS)</title>
            <link>http://swik.net/MySQL/Planet+MySQL/More+Adventures+in+Amazon+EC2+%28and+EBS%29/cc0hu</link>
            <description>&lt;p&gt;&lt;strong&gt;Short Version: &lt;/strong&gt;You can find a &lt;a href=&quot;http://developer.amazonwebservices.com/connect/entry.jspa?externalID=938&amp;amp;categoryID=100&quot;&gt;fantastic video here&lt;/a&gt; about bundling customized AMIs and registering them with Amazon so that you can launch as many instances of your new AMI as you want. The video is so good that I don&amp;#8217;t bother writing out the steps to do the bundling (it would be pretty darn long). These are some notes about launching an AMI, customizing it, and mounting an EBS volume to it (the video linked above doesn&amp;#8217;t cover EBS). Also, check out the ElasticFox tool which is a very good GUI for doing simple EC2 operations. Nice if you&amp;#8217;re just getting started or doing some simple tests.&lt;/p&gt;
&lt;p&gt;There are two ways you can go about creating a custom machine image (AMI) for use with Amazon EC2: You can create an image locally by dd&amp;#8217;ing to a file, mounting it with &amp;#8220;-o loop&amp;#8221; creating a filesystem on it, and bootstrapping the whole thing yourself, or you can grab an existing AMI that will serve as a &amp;#8220;good enough&amp;#8221; base for you to make your customizations, then bundle the customized image.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll be talking about the latter option, where you identify a &amp;#8220;good enough&amp;#8221; image, customize it for your needs, and save that as your AMI. Unless you&amp;#8217;re doing some kind of highly specialized installation, or are a control freak, you shouldn&amp;#8217;t really need to start from scratch. I was just building a test image, and wanted a CentOS 5.2 base installation.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s the command you can use to browse the AMIs you have access to (they&amp;#8217;re either public, or they&amp;#8217;re yours):&lt;/p&gt;
&lt;pre&gt;$ ec2dim -a&lt;/pre&gt;
&lt;p&gt;If that command looks funny to you, it&amp;#8217;s likely because you&amp;#8217;re used to seeing the really long versions of the AWS commands. Amazon also provides shorter versions of the commands. No, really - have a look! The long version of this command is:&lt;/p&gt;
&lt;pre&gt;$ ec2-describe-images -a&lt;/pre&gt;
&lt;p&gt;Too long for my taste, but it&amp;#8217;s nice to know it&amp;#8217;s there.&lt;/p&gt;
&lt;p&gt;So, rather than start from scratch, I grabbed a &lt;a href=&quot;http://solutions.amazonwebservices.com/connect/entry.jspa?externalID=1536&quot;&gt;base image that was close enough for my needs&lt;/a&gt;, and customized it. It&amp;#8217;s a 5.1 base image, pretty well stripped of things that I don&amp;#8217;t need, and a few that I do, but that&amp;#8217;s ok. I&amp;#8217;d rather start with less than more.&lt;/p&gt;
&lt;p&gt;So step one is to launch an instance of the AMI I&amp;#8217;ve chosen to be my &amp;#8216;base&amp;#8217;. Simple enough to do:&lt;/p&gt;
&lt;pre&gt;$ ec2run ami-0459bc6d -k ec2-keypair&lt;/pre&gt;
&lt;p&gt;And that&amp;#8217;s pretty much it. It takes a couple of minutes (literally) for the machine to actually become available. You can check to see if it&amp;#8217;s still in &amp;#8220;pending&amp;#8221; state or if it&amp;#8217;s available by running &amp;#8216;ec2din&amp;#8217;. Without arguments, that&amp;#8217;ll show you the status of any instances you have pending or runnning. Once the instance is running, you&amp;#8217;ll be able to glean the hostname from the information provided.&lt;/p&gt;
&lt;p&gt;An important note at this point: Don&amp;#8217;t confuse &amp;#8220;image&amp;#8221; with &amp;#8220;instance&amp;#8221;. For the OO types in the crowd, an &amp;#8220;image&amp;#8221; is an object. It does nothing by itself until you instantiate it and create an &amp;#8220;instance&amp;#8221; of that object. For sysadmins, the &amp;#8220;image&amp;#8221; is like a PXE boot image, which does nothing until you boot it, thereby creating an &amp;#8220;instance&amp;#8221;.&lt;/p&gt;
&lt;p&gt;The reason I used &amp;#8220;PXE&amp;#8221; and &amp;#8220;object&amp;#8221; in the above is because of the implication it makes: you can launch as many instances of an object as you want from a single object definition. You can boot as many machines as you want from a single PXE boot image. Likewise, you can launch as many Amazon EC2 instances from an image as you want.&lt;/p&gt;
&lt;p&gt;So, in the time it took you to read those last two paragraphs, your instance is probably running. I now grab the hostname for my instance, and ssh to it using my keypair:&lt;/p&gt;
&lt;pre&gt;$ ssh -i ec2-keypair root@&amp;lt;hostname&amp;gt;&lt;/pre&gt;
&lt;p&gt;Now that I&amp;#8217;m in, I can customize the environment, and then &amp;#8220;bundle&amp;#8221; it, which will create a new AMI with all of my customizations. With the instance in question, I installed a LAMP stack, and a few other sundry tools I need to perform my testing. I also ran &amp;#8220;yum -y upgrade&amp;#8221; which will go off and upgrade the machine to CentOS 5.2.&lt;/p&gt;
&lt;p&gt;One thing I want to do with this instance is test out the process for creating an EBS volume. The two pieces of information I need to do this are the size of the volume I want to create, and the &amp;#8220;zone&amp;#8221; I want to create it in. You can figure out which zone your instance is running in using &amp;#8216;ec2din&amp;#8217; on your workstation (not in your instance). I took that information and created my image in the same zone using the &amp;#8216;ec2addvol&amp;#8217; command. If you don&amp;#8217;t have that command on your workstation, then you don&amp;#8217;t have the latest version of the Amazon command line tools. Here&amp;#8217;s the command I ran:&lt;/p&gt;
&lt;pre&gt;$ ec2addvol -z us-east-1b -s 25&lt;/pre&gt;
&lt;p&gt;To see how it went, run &amp;#8216;ec2dvol&amp;#8217; by itself and it&amp;#8217;ll show you the status of all of your volumes, as well as the unique name assigned to your volume, which you&amp;#8217;ll need in order to attach the volume to your instance. To do the &amp;#8216;attachment&amp;#8217;, you need the name of the volume, the name of the instance (use &amp;#8216;ec2din&amp;#8217;), and you need to choose a device that you&amp;#8217;ll tell your instance to mount. Here&amp;#8217;s what I ran (on my workstation):&lt;/p&gt;
&lt;pre&gt;$ ec2attvol -d /dev/sdx -i i-xxxxxxxx -v vol-xxxxxxxx&lt;/pre&gt;
&lt;p&gt;Now you can go back to the shell on your instance, mount the device, create a file system, create a mount point, add it to fstab, and, as they say in the UK, &amp;#8220;Bob&amp;#8217;s yer uncle&amp;#8221;. By the time I wrote this post, I had already shut down my instance, but here are the commands (caveat emptor: this is from memory):&lt;/p&gt;
&lt;pre&gt;# mkfs.ext3 /dev/sdx&lt;/pre&gt;
&lt;pre&gt;# mkdir /vol&lt;/pre&gt;
&lt;pre&gt;# mount /dev/sdx /vol&lt;/pre&gt;
&lt;p&gt;If that all works ok, you can add a line to /etc/fstab so that it&amp;#8217;ll be mounted at boot time, but I haven&amp;#8217;t yet figured out how to attach a volume to an instance at boot time. The mount doesn&amp;#8217;t work if you don&amp;#8217;t attach the volume to the instance first. You&amp;#8217;ll get a &amp;#8220;device doesn&amp;#8217;t exist&amp;#8221; error if you try it. Clues hereby solicited. I assume I could probably use &amp;#8216;boto&amp;#8217; and some Python code to get this done, but doing the same with a shell script wrapper around the Amazon tools might also be possible &amp;#8212; but I don&amp;#8217;t know how reliable that would be, because you&amp;#8217;re at the mercy of Amazon and how they decide their tools should present the data (and *if* they provide the data you need for a particular operation down the road).&lt;/p&gt;
&lt;p&gt;So now I have an EBS volume, and an instance. The volume is attached to the instance, and I can do things with it. I&amp;#8217;m testing some database stuff, so I copied a database over to the volume, which was now mounted, so I could just &amp;#8217;scp mydb.tbz root@&amp;lt;instance&amp;gt;:/vol/.&amp;#8217;&lt;/p&gt;
&lt;p&gt;Once my database is there, I can attach it to pretty much whatever I want, which makes it nice, because I can test the same database, and the same database code, and see how the different size Amazon instances affect the performance, which gives me more performance data to work with. For production purposes, I&amp;#8217;ll have to look more closely at the IO metrics, play with attaching multiple volumes and spreading out the IO, and I also want to test the &amp;#8217;snapshot&amp;#8217; capabilities. It&amp;#8217;s also nice to know that if I needed to launch this in production (there are no plans to do so, but you never know), I could upgrade the database &amp;#8220;hardware&amp;#8221; more or less instantly &lt;img src=&quot;http://www.protocolostomy.com/wp-includes/images/smilies/icon_biggrin.gif&quot; alt=&quot;-D&quot; class=&quot;wp-smiley&quot;/&gt; &lt;/p&gt;
&lt;p&gt;If anyone has code or tools to help automate the management of all of this stuff, please send links! If I come up with any myself, I&amp;#8217;ll most likely post it here.&lt;/p&gt;
&lt;p&gt;Now that I have a customized AMI with all of my packages installed and my config changes made, I need to bundle this so that I can boot as many instances of this particular configuration as I want. An important note about bundling this *particular* image is that you MUST run &amp;#8216;depmod -a; modprobe loop&amp;#8217; before bundling, since this process basically abstracts the manual process of bundling an image, which involves mounting a file as a volume, which requires a loopback mount.&lt;/p&gt;
&lt;p&gt;The video I used to do the bundling is &lt;a href=&quot;http://developer.amazonwebservices.com/connect/entry.jspa?externalID=938&amp;amp;categoryID=100&quot;&gt;here&lt;/a&gt;, and if you can live through the disgustingly bad burps and chirps in the (Flash version) audio, it&amp;#8217;s an excellent tutorial for bundling custom AMIs. While the process *is* pretty straightforward, it involves a number of steps, and the video goes through all of them, and it worked perfectly the first time through.&lt;/p&gt;

  addthis_url    = &#039;http%3A%2F%2Fwww.protocolostomy.com%2F2008%2F08%2F27%2Fmore-adventures-in-amazon-ec2-and-ebs%2F&#039;;
  addthis_title  = &#039;More+Adventures+in+Amazon+EC2+%28and+EBS%29&#039;;
  addthis_pub    = &#039;jonesy&#039;;
</description>
            
            <pubDate>Thu, 28 Aug 2008 18:05:40 -0700</pubDate>
        </item>
                </channel>
</rss>
