So Shirley sent me an SMS to let me know my rehearsal was scheduled, and I managed to set up my (Linux) laptop with the projector, so I’m all set. Special thanks to Lauren from O’Reilly conferences who is awesome with computers and projectors, and didn’t blink an eye when I told him we might [...]
Mark Atwood, a good friend of mine, is presenting a session on
Amazon S3 Storage engine for MySQL.
Primary key has to be utf-8. Results coming back in less than
70ms. "If you build it, they will come".
A bucket is fully virtually hosted, it gives you a virtual SQL
CMS for S3. You can put billion photographs.
Transactional engine? No it's not. S3 service is not
transactional. There are no temporal guarantees in S3. If you
start doing writes on a table and someone else starts then it may
take some time for it show up. The reason is S3 is very
distributed. Amazon S3 replicates it all over.
If you put no WHERE clause then you can "make money fast" for
Amazon.
There are many opportunities. It keeps MD5 hash of contents of
Blob. There is also ACL. S3 handles HTTPS but it isn't
implemented yet in the storage engine?
There are other Amazon services that can use …
I am sitting in Dathan's full room session.
In 2005 they came up with Federation.
Key components of federation.
Shards are taking single master data containing a fraction of
user content. A global ring is the ability to get to a shard.
Think of it as a DNS. They calculate where your data is at that
moment in time. Then they have PHP logic to connect to the shards
(10 lines of codes).
Shards are slice of main database and are set up in Active
Master-Master Ring replication which is done by sticking a user
to a server in a shard. Shard assignments are from a random
number for new accounts. Migration is done from time to time and
shards can run on any hardware grade they just have to adjust
number of users per shard. They have issues with auto-increment
and 4.1. They have external processes that balance data across
other shards. They move people all the time.
Global ring is aka …
Saw this table definition in a system I was working on:
CREATE TABLE session_role (
Session_sessionId bigint(20) NOT NULL,
activeRoles_roleId varchar(255) NOT NULL,
PRIMARY KEY(Session_sessionId,activeRoles_roleId),
UNIQUE KEY activeAccounts_actorId (activeRoles_roleId),
KEY `FK38CC06CCF5B03D50` (Session_sessionId),
KEY `FK38CC06CC4085AE4` (activeRoles_roleId),
CONSTRAINT `FK38CC06CC4085AE4` FOREIGN KEY
(activeRoles_roleId)
REFERENCES role(roleId),
CONSTRAINT `FK38CC06CCF5B03D50` FOREIGN KEY
(Session_sessionId)
REFERENCES session (sessionId)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
This is four indexes for a two-column table! Of course nobody has
actually written this, this is generated by JBoss/Hibernate, with
a MySQL database used for storing data. Be very careful with code
generators....
Did you ever think of a worm that could crawl from MySQL server to MySQL server, infecting systems all over the world? MySQL 5.1 adds a feature that makes this scenario possible. I'm not talking about some sort of buffer overflow or similar attack vectors that need knowledge of machine language to be exploited. I'm talking about a worm written completely in pure SQL.
The idea was in my head for a little bit more than a year. But now that I did a proof of concept together with Markus Popp tonight at the MySQL Conference in Santa Clara and words started to spread quickly, I think it's better to just publish this right away (now that MySQL 5.1 is not in production yet).
The idea is actually pretty simple, you just need two components to implement a worm spreading from server to server with pure SQL:
- A way to connect to a remote MySQL server from within MySQL: That's what the …
My slides from the tutorial are posted on the Develooper talks page. I'll add a link to Jays slides when he posts them.
So, first two days of mysqlconf’07 are finished now. What can I say is that without any doubts: It worth it! If you’re working on some high traffic projects, some high-loaded database driven systems, etc, you definitely should attend such conferences - you’d never be able to get such big amounts of information from the best people in the industry as you can get here.
I’ve been attending mostly practical MySQL scale-out sessions and BOFs and I’ve got really controversial impressions. No - everybody was great, controversial thing is my own level - I never before was so sure that I know nothing at all! I see people here for which most of new things for me (especially in MySQL scaling) are pretty obvious and it is hard to keep myself from some kind of self-beating because I don’t know these things.
Interesting thing happened today - I clearly realized why YouTube guys got their billion and we or someone else didn’t - IMHO - …
[Read more]My slides from the tutorial are posted on the Develooper talks page. I'll add a link to Jays slides when he posts them.
In my second day at the MySQL Conference and Expo 2007, I attended keynotes, several sessions, and three BoF (Birds of a Feather) sessions. This article is about these sessions. Again, I'll focus on the Big Ideas and let you read other people's blog posts for the small details.
At the end of today’s Clash of the DB Egos keynote, I had the pleasure of delivering the following speech:
Monty: When I was a child, my father used to work for the same company as Mike Smith [1] works for now. He told me about the concept of an IBM Fellow, which is considered to be the highest honour a technologist at IBM can achieve. Some of them are Nobel Prize winners, you get the picture. Today, MySQL has decided to honour you, for your work so far, and for the work we hope you will put in for the benefit of MySQL and its Community for many years to come. Thank you for creating MySQL, and for making meaning (like Guy Kawasaki spoke about yesterday [2]). You, Monty, have made all of this possible: the storage engines, the ecosystem, the conference. You’ve inspired and …
[Read more]