What I have been thinking about is how to grow a caching system.
I
want to be able to start out with something small, that I can use
on
a small scale, and then move to a larger system as needed.
Some
requirements:
1) I don't want to rewrite everything as I grow the system.
2) I want an interface which gives me the ability to store
attributes, with a preference to being able to look at those
without
de-serializing an objects.
3) Geographical redundancy. If the entire network falls apart I
want
to able to bring the system up elsewhere with only a single
step
"backwards" for cached data. I can handle a little bit of stale
data,
but I don't want it to be greater then an hour old.
4) I want to be able to run analytics on state information.
5) KISS, Keep it simple.
Today this is the most common design:
…
Leonard Richardson and Sam Ruby are writing a book about web services and REST. They see superficial bloat in the way web services are built today. In short, they say to build a web page, you only need to know HTTP and HTML but to build Web Service a huge load of technologies has to be integrated:
XML, SOAP, WSDL, UDDI, WS-Policy, WS-Security, WS-Eventing, WS-Reliability, WS-Coordination, WS-Transaction, WS-Notification, WS-BaseNotification, WS-Topics, WS-Transfer
From a conceptual point of view, web pages appear to be the modest, hard-working older brother of the good-looking blabbermouth web services. How come?
REST defines web services with the tools of web pages—HTTP and URIs. Those who claim that this won't scale the book simply asks why the web scales when it is based on the same tools?—Touché.
With REST every resource has …
[Read more]At dinner at the MySQL Camp I found a new way these American’s store their ice.
Scali Raises $3.5 Million to Drive Continued Growth, Names Jack Kay CEO, Scali (Press Release)
VA Software Sets First Quarter Fiscal 2007 Financial Results Release Date and Conference Call, VA Software (Press Release)
Oracle must eat Red Hat or fork, says Ubuntu man, The Register, Ashlee Vance (Article)
Linux provider Red Hat says open source technologies gaining ground, Channel NewsAsia, Jeana Wong (Article)
…
[Read more]Hello, I’d like to announce my new website that I’m building right now. FindInArticles.com. This site is about articles, it crawls all known article directories, article publishing sites and gethers articles from them. It has a really extensive categorical index. currently I have about 1000 articles but the number is growing daily. I used Php / Mysql / Apache [...]
As you can read from my Innodb Architecture and Performance Optimization presentation Innodb automatically manages undo area in system tablespace so you never need to care about it. I present it as positive feature reducing administration effort needed but it also can cause a troubles as it happened for me today:
InnoDB: 11 transaction(s) which must be rolled back or cleaned
up
InnoDB: in total 292735956 row operations to undo
InnoDB: Trx id counter is 0 96267520
So MySQL Server was restarted (it likely was admin mistake in this case) and spend hours to undo almost 300.000.000 of row operations being unavailable during all of this time.
This was MySQL 4.1, MySQL 5.0 would do better by performing roll back in background but affected data still might not be fully available.
Why one would use such large transaction ? Well it was development mistake. Long and complex data load process was performed in …
[Read more]I'm just back from OpenSource Database Conference and PHP International Conference which took place in Frankfurt.
I've uploaded slides for two talks I've been giving which you might want to check out.
In general Database portion of the conference was a bit boring. May be because it was not widely announced or may be for some other reason. There were number of talks about MySQL by Arjen Lentz, Me and Giuseppe Maxia . There also were talks about Firebird, Apache Derby, Ingres and DB40. There however were no talks about PostgreSQL which is probably second most popular OpenSource Database or any others.
There were number of nice talks in PHP section - I especially enjoyed talks about PHP6 localization and DateTime …
[Read more]As I had the occasion to take an existing database and make some wholesale changes to it and reload it under a new name, and particularly wanted to do this possibly numerous times while I tweaked the changes I'm making, the thought had crossed my mind to use sed or something similar to take a database dump, modify a few of its particulars, and load it under a new name. With that in mind I created a bash script rather like the following:
#!/bin/bash[Read more]
mysqldump -h server -u root -ppassword \
--database olddatabasename \
--routines \
--ignore-table=olddatabasename.page_content \
--add-drop-database \
--add-drop-table \
\
| sed -e "s/\`//g" \
-e "s/olddatabasename/newdatabasename/g" \
-e "s/Song/Work/g" \
-e "s/song/work/g" \
-e "s/artists_works/artist2work/g" \
\
| mysql -h server -u root -ppassword
mysql …
MySQL Camp is going to be AWESOME! 163 participants! Insane! Just insane! This was a brilliant idea (my idea btw).
Jay Pipes did a lot of the work here so he deserves a lot of props.
I bumped into Marten Mickos here at Web 2.0 and he's going to be at the conference as well.
MySQL AB invited me to Frankfurt to talk about their PHP native driver project. While I am not much of a C-hacker, I do know database API's and users preferences in them quite well from my work on MDB2. As such my job was to present a wish list for features. Do note that this is a wish list and any features I mention in this blog post are not yet in any definitive plan. Aside from that, I also took it upon me to make sure that whatever we do, we try to keep the API as clear and simple as possible.
Anyways, at first I was wondering if the chance for a speed increase was really worth MySQL AB throwing developers at this. I am also not that concerned about the license of libmysql. With the FLOSS exception everything seems more or less ok. So why go through all the trouble? A lot of the wish lists items could easily be implemented on top of …
[Read more]