<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5089120157864048471</id><updated>2012-01-11T21:53:22.318-02:00</updated><category term='developer access production root superuser troubleshooting outage downtime operations sysadmin accountability'/><title type='text'>Igor's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-3123668093568542389</id><published>2011-05-21T19:04:00.003-03:00</published><updated>2011-05-22T21:49:58.962-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer access production root superuser troubleshooting outage downtime operations sysadmin accountability'/><title type='text'>Software developers and superuser privileges in the production environment</title><summary type='text'>Oh, yes: I have decided to take part in that holy war, instead of humbly writing another post about Mnesia (which may come some day...).

First of all, let's make clear that I am a software developer (currently in a technical lead position, but still a developer), so that you can read this post with all of your prejudices on.

Like most people, I believe that, in general, developers should only </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/3123668093568542389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2011/05/software-developers-and-superuser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3123668093568542389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3123668093568542389'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2011/05/software-developers-and-superuser.html' title='Software developers and superuser privileges in the production environment'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-3081341735808561742</id><published>2010-05-23T00:16:00.006-03:00</published><updated>2010-05-23T00:31:59.573-03:00</updated><title type='text'>Mnesia - one year later (part 3)</title><summary type='text'>This is the third part of my series of posts about Mnesia. From this third post on, I'll probably start to include some information that you can find elsewhere without too much trouble. After all, it's good to have them arranged together. I'm also talking about stuff that might be a little bit obvious for some people, like this next one...

Automate table management
As you certainly know, once </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/3081341735808561742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later-part-3.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3081341735808561742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3081341735808561742'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later-part-3.html' title='Mnesia - one year later (part 3)'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-3957969930934157811</id><published>2010-05-21T04:51:00.008-03:00</published><updated>2010-09-04T14:28:25.197-03:00</updated><title type='text'>Mnesia - one year later (part 2)</title><summary type='text'>This is my second post about the not-so-well-known relevant facts I have learned by working on a project based on Mnesia. Check my last post before reading this one. Let's go...

Do not use mnesia_frag to list records
Suppose your foo table, properly fragmented and distributed across dozens of servers, contains a secondary index on its second field. I guess you will eventually want to list all </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/3957969930934157811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3957969930934157811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/3957969930934157811'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later-part-2.html' title='Mnesia - one year later (part 2)'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-1660056322156004184</id><published>2010-05-20T06:24:00.001-03:00</published><updated>2010-05-22T18:50:19.659-03:00</updated><title type='text'>Mnesia - one year later</title><summary type='text'>I've been working for a little more than a year now on a private back end project at my company, making heavy use of Erlang and Mnesia to build a distributed system that stores high volumes of data. With the system in production for some months and working really fine since its first deployment, I decided it was a good moment to try to remember the most important lessons I have learned about </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/1660056322156004184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/1660056322156004184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/1660056322156004184'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2010/05/mnesia-one-year-later.html' title='Mnesia - one year later'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-2226791753466095819</id><published>2009-11-19T12:31:00.005-02:00</published><updated>2009-11-20T02:58:57.140-02:00</updated><title type='text'>Consistent hashing for Mnesia fragments - part 2</title><summary type='text'>Using the consistent hashing scheme I described in my last post, I have created a table with 400 fragments and done a bunch of writes to it. Although data distribution was very good in this test, the performance was really crappy, so I supposed Mnesia was doing some copying around of the hash_state (which contains the tree I use for consistent hashing).

As Ulf Wiger commented here, Mnesia is </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/2226791753466095819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2009/11/consistent-hashing-for-mnesia-fragments_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/2226791753466095819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/2226791753466095819'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2009/11/consistent-hashing-for-mnesia-fragments_19.html' title='Consistent hashing for Mnesia fragments - part 2'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5089120157864048471.post-2648379460448708475</id><published>2009-11-16T13:30:00.004-02:00</published><updated>2009-11-16T20:51:07.673-02:00</updated><title type='text'>Consistent hashing for Mnesia fragments</title><summary type='text'>If you work with Mnesia and use the mnesia_frag module for partitioning tables, maybe you know that Mnesia's default hashing module deals very well with the situation in which you need to add one more fragment to your table. Actually, the rehashing scheme has two important properties:
No data will need to be moved to any fragment that is not the new one.
Only the keys in one of the old fragments </summary><link rel='replies' type='application/atom+xml' href='http://igorrs.blogspot.com/feeds/2648379460448708475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://igorrs.blogspot.com/2009/11/consistent-hashing-for-mnesia-fragments.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/2648379460448708475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5089120157864048471/posts/default/2648379460448708475'/><link rel='alternate' type='text/html' href='http://igorrs.blogspot.com/2009/11/consistent-hashing-for-mnesia-fragments.html' title='Consistent hashing for Mnesia fragments'/><author><name>Igor Ribeiro Sucupira</name><uri>http://www.blogger.com/profile/12589406275720759327</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_-GN-Jsmlrvc/SwHLPXDLIgI/AAAAAAAAAj4/HGPpfaWkpt4/S220/3290789598_d69724a5bd_o.jpg'/></author><thr:total>5</thr:total></entry></feed>
