Ask Database Guru Brian Aker 232
Posted
by
Roblimo
from the earning-a-living-with-open-source-software dept.
from the earning-a-living-with-open-source-software dept.
Brian Aker is Director of Architecture for MySQL AB. He has also worked on the code (and database) that runs Slashdot, and is well-known in both Apache and Perl circles. Outside of the arcane world of open source "back-end" programming, though, hardly anyone has heard of him. This is your chance to ask Brian (hopefully after looking at his blog and Wikipedia listing) about anything you like, from Perl to database architecture to open source philosophy to upcoming events in Seattle. We'll send Brian 10 of the highest-moderated questions approximately 24 hours after this post appears. His (verbatim) answers will appear late this week or early next week.
You & Google (Score:5, Interesting)
Environmental Science? (Score:1, Interesting)
Object databases? (Score:5, Interesting)
Slashdot's Future (Score:5, Interesting)
Also, why do you select the nickname "Krow" for both Slashdot & your blog?
Archie McPhee's (Score:3, Interesting)
I've only been to their store once, but I mail order stuff all the time. Great cubicle toys. The best rubber chickens money can buy outside an art museum
Misconceptions (Score:5, Interesting)
As a Guru... (Score:5, Interesting)
Replication (Score:5, Interesting)
Example, slaves that can be started blank and copy all necessary files without needing to have a copy of the databases already.
Largest challenges (Score:5, Interesting)
Why MySQL? (Score:5, Interesting)
Big Ah Ha moments (Score:4, Interesting)
Authentication systems (Score:4, Interesting)
Are there any plans to enhance the authentication capabilities of the server to match what's available with Postgres/Oracle?
One thing I've always wished for is the ability to authenticate user/service access to databases and tables via other backends (pam_krb5, SASL, ldap, etc). This ability (imho) would result in wider adoption in certain IT shops where compliance officers and checklist junkies would opt to instead shell out for Oracle Advanced Security or something similar.
-s
Tabular vs hierarchal arrays (Score:2, Interesting)
SELECT name FROM table WHERE key='xyz'; seems so archaic and limited compared to something PHP-like such as $table['xyz']['name'] where $table is a disk-based global variable accessible from all scripts and automatically synchronized at all times.
Japanese Animation (Score:5, Interesting)
- What's your favorite Myazaki movie to date?
- What's the reason for this choice?
- And finally: I also love Myazaki's movies, but lately I have been struggling to find anime that I really enjoy.
They all seem repetitive and cliché. Would you dare recommend one? =)
Thank you a lot.
My best wishes for you and your cats!
Why will MySQL not revisit some key design flaws? (Score:5, Interesting)
There are several behaviors in MySQL that are quite key to the core of the system, and which are still not being revisited. For example:
These affect performance of almost any large system. However, even with the new storage back-end, some of these fundamental "characteristics" aren't being revisited, in particular the universally derided failure to support foreign key constraint checking.
Why is MySQL so fundamentally incapable of revisiting decisions that have proven to be incorrect over time? I mean, Monty may have had reasons for making his database incapable of supporting key relational database constructs. But why are you incapable of accepting that for MySQL to have much wider scale adoption you have to remove the Monty Personality Constructs from the core limitations of the system?
For those of you who are interested, the key part here is that systems like InnoDB (which are able to process FK constraints internally) aren't able to do so efficiently, because the core locks them into row-at-a-time constraint processing, meaning that large inserts into fact tables with small dimension tables are painfully slow if you don't turn of FK constraint checking)
Database Models (Score:5, Interesting)
Are relational database the end-all, or do we have other promising database models to look out for? OO-databases apparently went the way of the Dodo, but what else is out there that you find interesting?
Client GUI Tools? (Score:5, Interesting)
MySQL on the other hand has a poorly-implemented, not-well-supported equivalent to Query Analyzer called MySQL Query Browser: http://www.mysql.com/products/tools/query-browser/ [mysql.com] It's slow, crashes often (especially when called upon to list large datasets), and has tons and tons of usability flaws (the most glaring being the impossibility to select/copy the dataset to any other applications, and the failure to support standard keyboard shortcuts like Control/Command-A to Select All.)
It seems to me that MySQL Query Browser is treated, at best, as a second-class citizen in the MySQL world. Is that the case? If so, is it simply due to a lack of qualified developers for it, or is it part of a larger strategy to keep more resources working on the back-end?
In my opinion, MySQL could benefit greatly from having some really great (or at least passable!) client-side tools.
Solid-State Storage (Score:5, Interesting)
It strikes me that a lot of the work that has gone into optimizing databases in the past (especially storage, index structure, and buffer management) works on the assumption that the database will be stored to a hard drive, which is way slower than main memory and has variable access times depending on the relative position of the disk head and the required data.
Nowadays there's a lot of large solid-state flash drives coming out, and as time goes on we can expect to see sizes increase and costs decrease. For small-to-medium size databases, it's now reasonable to keep the whole database on, say, one of the new 64GB memory drives [slashdot.org]. The use of drives which have a fixed, cheap cost for random access seems to invalidate and simplify a lot of the assumptions made about conventional back-end data storage, and opens up possibilities for new types of optimization (binary tree indexes instead of B+ trees, more use of indirection).
I'm wondering what you see as some of the biggest opportunities for memory-resident databases, and what work is going into MySQL to take advantage of the changes that are happening in storage.
how do you feel about other free databases? (Score:5, Interesting)
Re:Replication (Multi-Master) (Score:4, Interesting)
Large corporation bashing aside, Active Directory and Oracle clusters do this very nicely, with low replication traffic volume. Is there any chance this feature will be added and improved upon in Mysql?
Language and OS Integration (Score:3, Interesting)
Do you think these trends will continue and we will see even greater integration of DBMS technology into the operating system itself? Will (should?) we one day regard database like structured data storage as an indispensable OS level feature like a filesystem? If so do you worry that Apple, MS and Linux will make MySQL irrelevant by integrating this functionality into the OS? Do you think that something like SQL will remain the primary interface to this sort of structured storage or will programming languages implement an integrated native syntax for both transactional memory and database access?
Hardware Support and Transactional Memory (Score:3, Interesting)
Design goals of MySQL? (Score:4, Interesting)
At the same time, MySQL has traditionally excelled for things like light-weight web content management and the like. It is almost as if MySQL was designed originally for this sort of task as its core market.
What were the original design goals for MySQL? Has MySQL outgrown them and moving on to become something else?
Re:Document databases? (Score:2, Interesting)
Where are MySQL sequences? (Score:2, Interesting)
After all this time, why does MySQL not have sequence support?
why is mysql so fast? (Score:2, Interesting)