Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Database Guru Brian Aker

Roblimo posted more than 6 years ago | from the earning-a-living-with-open-source-software dept.

Databases 232

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.

cancel ×

232 comments

Sorry! There are no comments related to the filter you selected.

You & Google (5, Interesting)

eldavojohn (898314) | more than 6 years ago | (#21325407)

What is your take on Google's enhancements [slashdot.org] ? Do you fear that Google's upcoming code donation [slashdot.org] is going to make them a large stakeholder in the future of MySQL? What impacts (if any) do you think this will have--especially on your decisions as a director?

Environmental Science? (1, Interesting)

eldavojohn (898314) | more than 6 years ago | (#21325433)

From your Wikipedia article:

After graduating with triple majors in environmental science, computing and mathematics, from Antioch College...
Why environmental science? I don't see anything on your blog related to it. I mean, the computers & math make sense but do you have a love or desire for environmental science? Do you feel this has contributed or influenced in some way your outlook on the world of databases or life in general?

Object databases? (4, Interesting)

Cyberax (705495) | more than 6 years ago | (#21325463)

Do you see a future for object databases? They are quite nice for some applications, but there are no real industrial-grade OpenSource implementations.

Re:Object databases? (1)

Anonymous Coward | more than 6 years ago | (#21325599)

Let me answer that question from my perspective. From my vantage point, (I am the IT specialist at my 851 employee company), there is a bright future indeed. I need a DB that has a programmable GUI.

Think of Microsoft's Access or Delphi. Though I fell in love with MySQL, I have never been able to grab a [free] programmable GUI for it. What I see are web front ends that in many cases appear incomplete!

I need to add "business logic" to the DB via the forms. Right now, trying to program the available front ends is more of an exercise in frustration than actual work.

Re:Object databases? (1)

Tablizer (95088) | more than 6 years ago | (#21327939)

(reply to reader) I agree that a programmable GUI front-end to DB's is a very useful tool. However, I'm not sure such a tool should hard-wire itself to a particular vendor's DB. It would be nice to see a DB-vendor-neutral front-end. I've even been working on an OSS one myself. (It's geared toward power-users, not end-users.)

Re:Object databases? (2, Informative)

daniel_newton (817437) | more than 6 years ago | (#21327695)

db4o (http://en.wikipedia.org/wiki/Db4o [wikipedia.org] ) is an open source object database. Apparently BMW, Boeing, Intel and others think it is "industrial grade".

It has a Java and a .NET version.

Re:Object databases? (1)

Cyberax (705495) | more than 6 years ago | (#21327887)

We're using it. It's a nice small database, very good for J2ME and small devices.

But even the authors of db4o say that it's not suitable for multi-gigabyte enterprise databases. For example, queries and query optimizer in db4o is a joke. Restructuring and versioning are primitive, etc.

Re:Object databases? (1)

EvilRyry (1025309) | more than 6 years ago | (#21328933)

Is this a limitation of db4o or a limit of the object database concept?

Re:Object databases? (1)

os10000 (8303) | more than 6 years ago | (#21327949)

I would claim that PostgreSQL is an object database. This is based on the following taxonomy of 4 variants of what "object" means: 1) relational with object extensions -- this of course being the PostgreSQL people; 2) object stores with declarative query language; 3) knowledge management rule base systems; 4) persistent programming language stores. In fact, when the "2)" camp published the "object database manifesto", the "1)" camp (the empire) struck back with the "third generation database manifesto". My personal criteria for calling something DBMS are: ACID properties, declarative query language, query optimiser, larger than volatile memory dataset handling.

Re:Object databases? (1)

Lennie (16154) | more than 6 years ago | (#21328735)

And I thought you'd mention that a table is a class and can be extended by other tables (read: classes).

Well, maybe you did, but I didn't understand.

Re:Object databases? (1)

Tablizer (95088) | more than 6 years ago | (#21328113)

(internal reply to reader)

Do you see a future for object databases?

What constitutes an OODB is not very consistent. Some feel OO is mostly about behavior, while DB's tend to view things as "naked" attributes. Bertrand Meyer (of OOSC2 book fame) described this problem. Plus, they are "navigational databases" not too dissimilar to the kind tried in the 60's and 70's already. Their alleged chaotic "pointer-hopping" foulness prompted Dr. Codd to formulate relational.

They are quite nice for some applications

I'd like a to see a demonstration app. Generally past cases where people claimed that an OODBMS would be better are really cases where existing RDBMS are simply not dynamic enough. In my opinion, the real solution would be dynamic RDBMS, not OODBMS. Unfortunately, they don't really exist yet.
     

Slashdot's Future (4, Interesting)

eldavojohn (898314) | more than 6 years ago | (#21325465)

From your Wikipedia article:

He then moved to work on Slashdot, where his initial task was to rewrite the database back-end to use Oracle. However, he extended the system to ensure it allowed multiple database back-ends, and became a published author along the way, writing Running Weblogs with Slash. From 2001 to 2007 he posted stories on Slashdot under the Author name of "Krow".
What do you think about the current state of Slashdot? Do you have any criticisms or praise for its current state compared to where it was when you worked on it? What do you see in the future of it, if anything at all?

Also, why do you select the nickname "Krow" for both Slashdot & your blog?

Re:Slashdot's Future (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#21325555)

Do you do nothing but post on /. all day?

Re:Slashdot's Future (1)

syntaxglitch (889367) | more than 6 years ago | (#21326051)

Also, why do you select the nickname "Krow" for both Slashdot & your blog?

I'm going to take a blind stab and guess that the reason is because blogging or posting on slashdot is precisely the opposite of "work". Probably wrong, though.

With the reversed spelling there's got to be a Soviet Russia joke in here somewhere but I can't find it.

Re:Slashdot's Future (0)

Anonymous Coward | more than 6 years ago | (#21326587)

In Soviet Russia, reversed-spelling joke can't find YOU!

Re:Slashdot's Future (1)

maxwell demon (590494) | more than 6 years ago | (#21327445)

With the reversed spelling there's got to be a Soviet Russia joke in here somewhere but I can't find it.

Here it is: .UOY sesrever gnilleps ,aissuR teivoS nI

Archie McPhee's (2, Interesting)

A nonymous Coward (7548) | more than 6 years ago | (#21325467)

Do you ever get out to Archie McPhee's [mcphee.com] ?

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 (5, Interesting)

The Clockwork Troll (655321) | more than 6 years ago | (#21325485)

From your perspective, what's the biggest public misconception about MySQL and what (if anything) is MySQL AB doing to correct it?

As a Guru... (5, Interesting)

eldavojohn (898314) | more than 6 years ago | (#21325493)

What do you see as being the biggest inhibiting factor in the world of databases? If you could snap your fingers and have one piece of software/hardware changed or removed or improved today, what would it be?

Re:As a Guru... (-1, Troll)

Anonymous Coward | more than 6 years ago | (#21325817)

he'd have you open source fags shut up and go away.

Replication (5, Interesting)

neoform (551705) | more than 6 years ago | (#21325499)

When can we get replication that isn't brutally difficult to setup and maintain.

Example, slaves that can be started blank and copy all necessary files without needing to have a copy of the databases already.

Re:Replication (Multi-Master) (3, Interesting)

The-Pheon (65392) | more than 6 years ago | (#21327201)

In addition, what current work is being done on Multi-Master replication? Something more reliable/recoverable than a circle/star with the auto_increment_offset?

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?

Re:Replication (0)

Anonymous Coward | more than 6 years ago | (#21327947)

Eh, this is easily done today.
Then again, perhaps you don't have the master's binlogs left?
Perhaps you don't have a staging server?

You've two options; one is LOAD DATA FROM MASTER, the other is to have binlogs saved and start replicating from the beginning.

There are replication gotchas - no arguments there, but calling replication brutally difficult to set up and maintain is quite the stretch..

--r

Re:Replication (1)

neoform (551705) | more than 6 years ago | (#21328017)

Compared to the replication in postgres and oracle, mysql is quite a pain.

Largest challenges (4, Interesting)

KevMar (471257) | more than 6 years ago | (#21325503)

What were you largest challenges or features that gave you the most greif when implementing them in MySQL?

Re:Largest challenges (0)

Anonymous Coward | more than 6 years ago | (#21326311)

Transactions. Or it will be, when he gets round to it. (Yes, I know [wikipedia.org] )

Re:Largest challenges (2, Funny)

Just Some Guy (3352) | more than 6 years ago | (#21326775)

This post is full of spelling and grammer mistakes.

It's spelled "grammar".

Why MySQL? (5, Interesting)

eldavojohn (898314) | more than 6 years ago | (#21325523)

What is it about MySQL that caused you to create so much for it and to become a director for it? You're obviously very talented, why didn't you pick some other open source database (I don't mean to incite a religious war here)? Was it political? Was it because of friendships or really for technological reasons?

Big Ah Ha moments (3, Interesting)

KevMar (471257) | more than 6 years ago | (#21325533)

What was your bigest ah ha moment? Did you ever have a solution to a problem that got you excited? Or had you drive in on your off hours/day off just to see if it would work? Or called someone in the middle of the night about?

Re:Big Ah Ha moments (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#21327403)

grammar.

Sorry, couldn't resist...

The Moneys (4, Insightful)

eldavojohn (898314) | more than 6 years ago | (#21325557)

Are you ever tempted to throw away your open source development position for a possibly much higher paid closed source development position? If so, how do you cope with living in a capitalistic society and not taking advantage of (or even seeking for that matter) higher paying opportunities?

I mean, come on, you can't tell me you've never been offered more money (although probably a lower position) at another company. What 'keeps' you at MySQL AB?

Data Truncation (5, Funny)

FroMan (111520) | more than 6 years ago | (#21325563)

Is it valid behavior to silently tru

Re:Data Truncation (1, Offtopic)

$RANDOMLUSER (804576) | more than 6 years ago | (#21325641)

I wish I had mod poi

Re:Data Truncation (2)

theskipper (461997) | more than 6 years ago | (#21328623)

Me to

Re:Data Truncation (0)

Anonymous Coward | more than 6 years ago | (#21325743)

No, which is why you set SQL_MODE to something sane. And it was quick'n'easy, like all bad, popular things, including PHP, Perl, Unix, and C.

Re:Data Truncation (1)

Just Some Guy (3352) | more than 6 years ago | (#21326853)

No, which is why you set SQL_MODE to something sane.

...as opposed to the completely freakin' insane default settings. As long as the defaults are totally broken, many people will regard it as a toy database. Whether it is or not, these are the issues that give it that reputation.

Re:Data Truncation (1)

Ed Avis (5917) | more than 6 years ago | (#21326101)

Why, yes, I _was_ born on February 30th, you insensitive clod!

Re:Data Truncation (1)

Anpheus (908711) | more than 6 years ago | (#21328775)

When can the community expect a reasonable, and open discussion about setting sane defaults for MySQL?

Where the community cannot reach consensus, no default should be specified and the user should be asked.

Bug Process (0)

Anonymous Coward | more than 6 years ago | (#21325569)

I'd really like to know your response to the post MySQL Quality of old and new features [mysqlperformanceblog.com] .

Authentication systems (4, Interesting)

siezer (223508) | more than 6 years ago | (#21325611)


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

Re:Authentication systems (1)

Tablizer (95088) | more than 6 years ago | (#21328601)

Are there any plans to enhance the authentication capabilities of the server to match what's available with Postgres/Oracle?

Oh please, no!!!! Unless you are the IRS or the FBI, don't make everyone do the Oracle Dance to connect to the #@&!% database. It's easier to put the 1's and 0's in wheelbarrows and wheel them around.
       

The placement of the database. (1)

einar.petersen (1178307) | more than 6 years ago | (#21325623)

One thing that is puzzling is that an obvious thing like choosing the directory in which to place the database is made so complicated, having to go into configuration files, setting permissions etc. so that one can choose where to put the database seems overly complicated to most people who are perhaps not so technically adept. How would you rate the possibilities of MySQL being put into broader useage, if you made it easier to choose save directories and possibly provided a simple webbased gui as part of the installation package. Thanks for a nice product though!

Re:The placement of the database. (0)

Anonymous Coward | more than 6 years ago | (#21326379)

PG_DATA=/path/to/my/data

I just don't get why people still think mysql is actually easier.

mySQL vs. PostgreSQL (5, Funny)

saterdaies (842986) | more than 6 years ago | (#21325645)

So, let me get this straight: you (mySQL) use a dolphin to fetch data while PostgreSQL uses an elephant to fetch data. Would that explain why PostgreSQL is better at fetching large datasets? Like, the elephant can haul more, but is slower while the dolphin is faster, but can't carry as well? Have you thought about using a non-animal to fetch your data? Maybe a racecar? Those are fast and could probably haul as much as an elephant. Plus, then I wouldn't need to have fish or peanuts in my server room.

Re:mySQL vs. PostgreSQL (4, Funny)

daeg (828071) | more than 6 years ago | (#21325731)

Reminds me of a few years back. I had just finished presenting a lengthy, well-thought out package on implementing a new software system for a new company to the owner. After the entire charade, he looked me in the eye as he pointed to the cover of the document, which featured the logos of all software systems involved. He was pointing to the MySQL dolphin. "What's this dolphin doing here? you're not some kind of [expletive] [expletive] [expletive] eco nut are you? I'm not a fan of them..."

Re:mySQL vs. PostgreSQL (2, Funny)

Dunbal (464142) | more than 6 years ago | (#21325815)

Plus, then I wouldn't need to have fish or peanuts in my server room.

      but the fish are good for both the dolphin AND the penguin...

Re:mySQL vs. PostgreSQL (1)

syntaxglitch (889367) | more than 6 years ago | (#21326113)

So, let me get this straight: you (mySQL) use a dolphin to fetch data while PostgreSQL uses an elephant to fetch data. Would that explain why PostgreSQL is better at fetching large datasets? Like, the elephant can haul more, but is slower while the dolphin is faster, but can't carry as well? Have you thought about using a non-animal to fetch your data? Maybe a racecar? Those are fast and could probably haul as much as an elephant. Plus, then I wouldn't need to have fish or peanuts in my server room.

Of course, they say an elephant never forgets.

On the other hand dolphins probably get more sex. Hm.

Re:mySQL vs. PostgreSQL (2, Funny)

Vihai (668734) | more than 6 years ago | (#21326841)

Yes, that's why I prefer a DBMS that doesn't like to fsck with my databases :)

Re:mySQL vs. PostgreSQL (0)

Anonymous Coward | more than 6 years ago | (#21327289)

Which is why I've never been able to understand the Slashdot crowd's loyalty to MySQL. Shouldn't there be like, envy or hatred or something?

Just sayin'.

Tabular vs hierarchal arrays (1, Interesting)

Ark42 (522144) | more than 6 years ago | (#21325659)

Why are so many databases still tabular today and not hierarchal? I'm thinking of how Cache (or M / Mumps) is a database which basically lets you store associative arrays of data nested at any level, and access them in the normal programmatic way which you would access any other array.

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.

Re:Tabular vs hierarchal arrays (2, Insightful)

Shados (741919) | more than 6 years ago | (#21325773)

its not a matter of tabular vs hierarchal, its Relational vs Object based (or some such).

Basically the short answer is that the relational model has had much more time and more people working on it to mature, and a move to a different system as mainstream would have a totally insane impact on the workflow of enterprise level software development, from functional analysis to all the echosystem of tools to design and maintain applications...

On top of that, object databases are amazingly fast for quick CRUD and for hierarchal data, but when you want to do datamining, reporting, etc, its a total disaster (relational sucks at it too, thus OLAP systems that plugs in them, but thats a minority of softwares that use em, and at least relational has workarounds, such as star schemas).

Basically: It will become that way eventually (major RDBMSs like SQL Server and Oracle already have or are working on hybrid engines), but such a core change in software development paradigms takes time. Its like if you tried to mainstream a non-Object-Oriented programming language... it will take a long time. Still, has uses for niches and such.

Until then, there's ORM tools like Hibernate to bridge the concepts. And of course, there ARE douzans of Object data engines on the market...just pick. Its just not as well supported by the echosystem.

Re:Tabular vs hierarchal arrays (1)

arodland (127775) | more than 6 years ago | (#21326641)

Wait... having the power of arithmetic, boolean logic, and more at your command is "limited" compared to having the ability to index on one set of keys, in one specific order, determined in advance?

Re:Tabular vs hierarchal arrays (2, Informative)

DaleGlass (1068434) | more than 6 years ago | (#21327079)

How do you do a SELECT DISTINCT name, or an OUTER JOIN in that model? What if you need to search by a non-key column?

Key/value systems have their place, but doing very normal RDBMS things in them is a pain.

Re:Tabular vs hierarchal arrays (1)

sco08y (615665) | more than 6 years ago | (#21328219)

Why are so many databases still tabular today and not hierarchal?

Because we've tried the hierarchical model in all its iterations and it sucks. To specify integrity constraints, you have to use graph theory. And while certain modes of access work, ad hoc queries are painful. Normalizing your data is often impossible. If you can't make sure the data is what it's supposed to be, and you can't make sure you only have one copy of it (normalizing) and you can't run arbitrary queries, your DBMS sucks.

The only reason people keep going back to hierarchical models (such as XML) is because the tabular SQL structure is the only game in town. It's not: there is such a thing as the relational model, and SQL is even loosely based on it, but SQL DBMSs are only vaguely relational.

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.

Shit, even in Access you can say DLookup("name", "table", "key='xyz'"). In PHP, how do you get a value from something *other* than the key? And how do you group by months and sum scores? Get the top 20% of something? If you answered "I iterated through the data set" for any of those, your DBMS sucks. If you can't take that result and use it as a table just like any other, your DBMS sucks.

Let's look at integrity: even in SQL, a foreign key constraint is as simple as "FOREIGN KEY foo (bar)". Show me the syntax to do that in a hierarchical database. In a relational database, it's *always* a to b. In a hierarchical database, you get to screw around with graph theory. (Note that with cyclic foreign keys, SQL will require carefully ordered inserts, this is a deficiency of SQL because the relational model proper allows for simultaneous inserts.)

I have to know (0)

Anonymous Coward | more than 6 years ago | (#21325771)

I like ponies. Do u like ponies? Ponies are liek OMG awesome!

Japanese Animation (5, Interesting)

Volanin (935080) | more than 6 years ago | (#21325787)

Well, I will ask something not related to databases, or even computing at all. From the "About Me" section in your blog, I can see you named your lovely cats Nausicaä and Kiki. I will assume that you are indeed a fan of Japanese Animation, especially the works of Hayao Myazaki. So I ask:

- 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!

Re:Japanese Animation (1)

Tychon (771855) | more than 6 years ago | (#21327825)

As far as this season has put out, Kaiji seems to be an interesting break from the typical harem-style, world-savior, battle-robot theme. It focuses on a street punk that likes to gamble and takes a gambling deal with the mafia to have all his debts erased. The artwork is highly stylized and may not be appreciable by some, and admittedly the story isn't exactly deep, but it's a fairly nice break from all the usual fare, I think.

Oh, you may also want to check out Seirei no Moribito. A very beautiful piece of work, both in audio and video. The story is quite well done, although I've unfortunately only seen it in the original airing. My Japanese not being very good, I'm not entirely sure about where it all went.

Where to Start? (1)

Erris (531066) | more than 6 years ago | (#21325801)

What one book or example would you recommend to someone who wanted to learn LAMP?

that's easy (0)

Anonymous Coward | more than 6 years ago | (#21326695)

Detailed instructions [lowes.com] .

Next lame question to waste Brian's time...

One question. (1)

Bright Apollo (988736) | more than 6 years ago | (#21325821)

How come you haven't hired Joe Celko yet?

-C

Re:One question. (0)

Anonymous Coward | more than 6 years ago | (#21326115)

I think that would be quite difficult. How highly do you think Mr Celko rates MySQL? I bet you a pint he'd specify PostgreSQL if he were asked to choose a non-commercial SQL RDBMS for practially any project.

Why still broken (0)

Anonymous Coward | more than 6 years ago | (#21325895)

Why is MySQL still not standards compliant?

How does it feel to be "good enough"? (0)

Anonymous Coward | more than 6 years ago | (#21325919)

The success of MySQL in the light of databases that have always been architecturally better and better-featured, from the free PostgreSQL right up to Oracle, is more than anything a reminder that we live in the "good enough" world.

A successful database product, it seems, doesn't have to be an engineering masterpiece: it doesn't have to be architected for grand scaling, and it never seemed to bother people how late to the game MySQL was with transaction reliability; features which advance the state of the art, such as object-relational systems, are eschewed in favour of the simple and familiar. In the gold rush, MySQL AB is, as, it were, selling the Mark I shovel; don't get me wrong, it's a fine shovel, but it's still just a shovel.

With all this in mind, and seeing a similar trend across the open source landscape, do you not feel a duty to take the F/OSS community away from its reputation as feeding this mediocre requirement? ESR's bazaar has become a great facsimile machine.

Re:How does it feel to be "good enough"? (1)

Tablizer (95088) | more than 6 years ago | (#21328663)

Do you feel there's an inherent trade-off between lean-and-mean versus feature-rich-but-cumbersome-to-manage? People keep asking for this feature and that feature and I wonder if MySql would lose the essence that made it popular if it tried to be a Feature Monster.
     

Why will MySQL not revisit some key design flaws? (4, Interesting)

MemRaven (39601) | more than 6 years ago | (#21325989)

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:

  • Lack of foreign key constraint even metadata maintenance in the core system schema
  • Row-at-a-time constraint checking of all kinds
  • Copy-on-schema-upgrades (meaning that you have to have at least twice the size of your largest schema element if you want to make a change, rather than making the physical change in-utero)

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)

I'm confused (0)

Anonymous Coward | more than 6 years ago | (#21326087)

Brian, are you that same guru guy that does the yellowbook.com commercials?

database automatic information quality controls (1)

xristo70 (1184699) | more than 6 years ago | (#21326191)

In engineering the quality of the information (telemetry, simulation models, engineering reports, etc) in databases always will degrade over time as the database exponentially grows. Sooner or later changes in personnel will cause data logging procedures to be ignored, errors or missing sensors not to be corrected, users will stop placing extensive comments connected to the data, bad data will simply be dumped and so forth.

To your knowledge, which development are currently ongoing to make a database automatically keep the quality of the information high? Place a "forgetting" algorithm which cancels out old data, automatic metrics for the quality of the information, recognize and resolve ambiguities in the information, or other similar potential solutions?

Date and the Third Manifesto (4, Insightful)

MagikSlinger (259969) | more than 6 years ago | (#21326221)

Any intentions of implementing any of C.J. Date's Third Manifesto [wikipedia.org] proposals for implementing the new generation of relational databases? If not, why?

Northwest Secession (1)

timothy (36799) | more than 6 years ago | (#21326245)

Brian:

A thought-experiment question I've been meaning to ask you for a while, keep forgetting, and Hey, look, an interview ;)

Are you truly in favor of secession of the Northwestern states into an independent country, and if so, could you shed some light on you'd favor in the result?

I don't mean complete with a war (why this is just a thought experiment), but I wonder if you could outline how you anticipate such a country would look and operate. Keep Washington / Oregon / etc as separate entities with unique approaches to questions like income taxes, gambling, etc? Do you think some form of (awfully named) "universal health care system" would emerge? What geographic area would you draw the red pen around on the map? How much would you charge Californians to visit? In what aspect of the resulting economy would you welcome a free market, and in which ones would you not?

Cheers!

timothy

Re:Northwest Secession (oops, missed a word) (1)

timothy (36799) | more than 6 years ago | (#21326321)

Think-o i there: Should read "Are you truly in favor of secession of the Northwestern states into an independent country, and if so, could you shed some light on what you'd favor in the result?

Database Models (5, Interesting)

Tom (822) | more than 6 years ago | (#21326281)

Hi, Brian -

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?

The unavoidable questions. (1)

swehack (975617) | more than 6 years ago | (#21326291)

How much do you know about PostgreSQL and what do you think about it?

Multiple CPUs and multithreading (1)

Omnifarious (11933) | more than 6 years ago | (#21326345)

Do you think there is a better way of handling multithreading than mutexes and semaphores? If so, what would set of primitives do you think would best suit the task?

Client GUI Tools? (4, Interesting)

Blakey Rat (99501) | more than 6 years ago | (#21326411)

One of the things I've always felt is most lacking for Open Source databases is good client-side GUI tools to do ad-hoc queries, look at the database structure, assist in copying/importing/exporting data, etc. Microsoft has a pretty good tool in this area with either the SQL Enterprise Manager/Query Analyzer combo or SQL Server Management Studio.

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.

Re:Client GUI Tools? (1)

Dynedain (141758) | more than 6 years ago | (#21327321)

Give EMS SQL Manager for MySQL a try. It's proprietary, but it's a tool I'm more than willing to pay for.

Re:Client GUI Tools? (0)

Anonymous Coward | more than 6 years ago | (#21328493)

Check out HeidiSQL [sourceforge.net] ). I like it much better than the native MySQL tools. Unfortunately it's a Windoze frontend.

Ob (0)

Anonymous Coward | more than 6 years ago | (#21326445)

You do know that PostgreSQL is much better, don't you?

What would you suggest as... (1)

Count Fenring (669457) | more than 6 years ago | (#21326491)

What would you suggest as a good first "learner" program for Database driven development? For Perl development?

Solid-State Storage (5, Interesting)

spoonboy42 (146048) | more than 6 years ago | (#21326523)

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.

Mod parent up -- interesting! (1)

cmburns69 (169686) | more than 6 years ago | (#21327131)

I would really like to see the answer to this one...

Columnar Database (Vertica) (1)

clearcache (103054) | more than 6 years ago | (#21326541)

What's your opinion of the developments that companies like Vertica are making with columnar databases? They tout improved performance and better data compression as two benefits. Will we see similar developments in MySQL? New products?

Dear Mr B Aker (1)

Hognoxious (631665) | more than 6 years ago | (#21326549)

Do feeble and frankly unfunny bread|biscuit|cake puns really get on your nerves?

Questions? Oh boy... (0, Offtopic)

fyngyrz (762201) | more than 6 years ago | (#21326605)

  • If you're not responsible, please forward to the appropriate person. Thank you.
  • Would you support custom mods to MySQL to fix slashdot's pernicious anonymous moderation problem?(*)
  • If MySQL can't be made to work, would you support a move to PostgreSQL?
  • If neither of those can be made to work, would you consider ritual suicide in atonement?
  • Thank you for your kind attention to this matter.

(*) This problem manifests as many inappropriately moderated (and unmoderated) posts in each slashdot discussion, making it absolutely impossible to read any discussion unless your threshold is set to -1 or you are willing to put up with a disjointed set of posts, apparently unrelated to each other (and sometimes the subject at hand), while also knowing with absolute certainly you're missing many good, on-topic or otherwise high quality posts. One presumes that at this late date, with absolutely no attention from those people running slashdot, that the problem must be something they don't understand about the site (such as the complex and very difficult to understand idea that working moderation would help the userbase), and so devolves upon a technical person.

hell even I've never heard of him (0)

Anonymous Coward | more than 6 years ago | (#21326659)

and I've been a MySQL DBA for nearly a decade

how do you feel about other free databases? (5, Interesting)

larry bagina (561269) | more than 6 years ago | (#21326723)

What's your opinion of SQLite, PostgreSQL, and Firebird? What do you like about them? What don't you like about them?

Which competitor do you fear most? (1)

ammoQ (454616) | more than 6 years ago | (#21326825)

Open Source databases like PostgreSQL?
Free (beer) "Express" editions of commercial databases?
Hypothetical MySQL spinoffs no longer controlled by your company?

Hardware (1)

TopSpin (753) | more than 6 years ago | (#21327211)

What choices have you made provisioning hardware for production MySql systems? Specifically, what do you rely on for storage; raid levels, hardware vs. software, etc. What, if any, tools do you use for performance analysis of production systems beyond the usual *nix monitoring programs (sysstat etc.)?

Integrated Auditing (1)

Twillerror (536681) | more than 6 years ago | (#21327471)

A common problem in the enterprise world is data auditing. By auditing I mean keeping a record of data as it changes.

I've implemented various solutions, usually consisting of copying the row into another table, slapping some sort of version id on it, and the updating the row with new values.

When a new column is added to a table you typically have to add one to your auditing table. Then there is the concept of who made the change. I've implemented a solution using triggers and generic table to hold the changes, but it wasn't as fast as I'd like. Even with triggers I typically regenerated the code when a new column was added. I did not analyze database meta-data during trigger execution.

This can be useful from a governance standpoint all the way down to a debugging standpoint. I've been able to concretely identify how data corruption occurred more times then I can count with these systems.

Have you ever thought of baking this into the database server. Perhaps having MySQL automatically create an auditing table and update it as records are updated. Deletes could be handled the same way, by simple marking the last row in the audit table as such.

Any thoughts?

Dynamic RDBMS? (1)

Tablizer (95088) | more than 6 years ago | (#21327643)


I'm wondering if you've considered the idea of "dynamic" RDBMS for rapid prototyping or rapid app development?

Column types would be optional, and new columns and tables could be added willy-nilly by a regular INSERT or UPDATE statement. There would be no (default) distinction between non-existent columns/tables and empty columns/tables.

One could later and incrementally add validation to enforce types or existence to selected tables or columns. In other words, the "lock-down" could be gradual as the project grows more formal over time.

We have dynamic/scriptish languages, so I think it makes sense to also have dynamic databases in our arsenal of tools. Or, at least as a cool experiment.

Thank You

Re:Dynamic RDBMS? (1)

DaleGlass (1068434) | more than 6 years ago | (#21328393)

Eeew.

The whole point of a database is that it safely manages data. It's not any good to have a heap of bits when what they represent doesn't match reality.

With this model you'll end up with tables and columns created due to typos in the source, misunderstanding between what is the datatype for a column supposed to be. Is column called "item" a boolean (the row's type is "item"), or is it an integer (item number), or is it a varchar (item code), etc?

Lockdown later won't work well, because at lockdown time you'll likely find that something in the database doesn't make sense and you can't tell what it was supposed to actually be. Eg, if your organization has no concept of a product with a negative price, and you find one that has it (due to the lack of a constraint on the column), what do you do with it? Such things could fairly easily result in finding that the sales statistics for your past 3 months were actually incorrect, and the true amount can't be calculated.

If you want to keep your sanity, you need to design your database well first of all, not leave it for later.

Re:Dynamic RDBMS? (1)

Tablizer (95088) | more than 6 years ago | (#21328803)

The whole point of a database is that it safely manages data.

I disagree. That is one of many. A database is also a business modeling tool: it stores attributes (facts) about the domain being modeled.

I agree that there are places where dynamic won't do. But there are also times where it may be helpful.

Lockdown later won't work well, because at lockdown time you'll likely find that something in the database doesn't make sense and you can't tell what it was supposed to actually be. Eg, if your organization has no concept of a product with a negative price,...

Well, tracking money is probably NOT the best use for this kind of tool. However, for AI-based search engines or rapid prototyping I still think it could be useful. There are some niches where getting more right answers is more important than avoiding wrong answers.

Besides, RDBMS should probably not be your primary validation tool anyhow; for their error messages are too cryptic and too divorced from the app's perspective. And there are ways to write nightly batch reports that point out accounts with suspicious info.
     

Re:Dynamic RDBMS? (2, Insightful)

d3xt3r (527989) | more than 6 years ago | (#21328625)

This really shouldn't be a function of the RDBMS. If you wanted such a thing writing a driver wrapper for any RDBMS should be fairly easy. However, coding your database mappings without locking down your feature set is kinda useless. What's more interesting is creating scripts to generate your database schema from your code. It's been done, see Hibernate [hibernate.org] .

A question about data models. (1)

killjoe (766577) | more than 6 years ago | (#21327989)

I would like to see MySQL provide a set of "best practice" data models for common types of problems including triggers, stored procs (or even clusters and replication) so we can all benefit from your expertise.

For example:

What is the best way to set up your data model to deal with recurring schedules? How do you store the schedule for something that needs to be performed every other tuesday after 10:00 AM but before 5:00 PM at location X. How to you generate the individual events. How do you deal with somebody trying to view what their schedule would look like in 2020? How do you rescedule next tuesdays event to wednesday but still keep the scedule active.

Thanks.

you code all this on the programming layer (0)

Anonymous Coward | more than 6 years ago | (#21328215)

You can do some nifty calculations with mysql but as far as how would somthing look in 2020? just craft the table and pass the right date range query to it.. please do not bother this man with such quesitons..

The Future of DBMSs: Specialization and Objects (1)

logicnazi (169418) | more than 6 years ago | (#21328249)

While the origin of databases was in holding massive amounts of spreadsheet style buisness data that is only one way that DBMSs are used today. For instance their is an increasing use of DBMSs as data stores for web applications or even desktop applications (Core Data and sqlite). Also some people are advocating column oriented DBMSs [wikipedia.org] for data warehousing applications while unstructed databases like couchDB [wikipedia.org] . Do you think that the standard relational model will continue to dominate the database field or will we see a splintering as some people have suggested with specialized databases developed for different applications? If so what sort of role do you see MySQL evolving to occupy?

I'm particularly interested in whether you think we will see a return to Object Oriented Databases [wikipedia.org] for use as a model store for applications possibly supplemented by some kind of language integration like microsofts LINQ.

SMP (1)

os10000 (8303) | more than 6 years ago | (#21328369)

Hello Brian,

do you believe the query engine of MySQL could be rebuilt to become a tuple flow system (or any other mechanism) which would be able to scale single-query perfomance on a multi-CPU (core) system?

Thanks,

Oliver

Language and OS Integration (2, Interesting)

logicnazi (169418) | more than 6 years ago | (#21328535)

There seems to be a trend toward other areas of IT implementing concepts and ideas that used to be primarily to province of databases. For instance transactional memory [wikipedia.org] has proved to be a powerful model for concurrency in software languages while journaling and copy on write filesystems have been implementing many ACID [wikipedia.org] style guarantees using methods borrowed from databases. Also operating systems seem to be evolving more and more APIs to handle structured data storage (Core Data) as well as to efficently store and search metadata (spotlight, windows search). OS X even stores a great deal of it's configuration data in a centralized Netinfo database and even the windows registry is a sort of database (arguably it's flaws stem from the choice not to implement a full database).

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?

Advice To noobs! (0)

Anonymous Coward | more than 6 years ago | (#21328629)

What advice would you give to students coming out of college who are getting into database related areas?

Hardware Support and Transactional Memory (2, Interesting)

logicnazi (169418) | more than 6 years ago | (#21328739)

I'm convinced that transactional memory (TM) is the right model for concurrent programming in most common situations but software transactional memory (STM) [wikipedia.org] suffers from some performance problems. There has been a great deal of research on hardware support for transactional memory and recently Sun announced hardware support for hybrid transactional memory in Rock [sun.com] . Do you think hardware support for TM will catch on and migrate down to commodity hardware? If so would this translate into significant performance improvements for databases like MySQL? If not do you think specific hardware optimizations for DB applications will ever make sense in the mainstream market?
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>