Which is better for a dating site, MyISAM or InnoDB? Thanks.
Ask HN: I want to start learning about databases, where should I start?
31–38 of 38 posts
Re: Ask HN: I want to start learning about databases, where should I start?
#32Re: Ask HN: I want to start learning about databases, where should I start?
#33Earlier quoted context omitted.
I want to be careful in how I phrase this, because I feel like this was a good effort, but I disagree with many parts of this description. First, databases are not "just" about persistence, and I don't mean that in a pedantic way. The point of a database management system is to manage your data over time and allow you to make use of it. This includes things like stating constraints to ensure that the data in the data…
The problem with the standards is that getting copies costs actual money. If one really wants to start learning about databases, it can be very difficult to decide what to pay for. Implementation documentation, at least, is generally free. For books, I've heard good things about http://www.amazon.com/Fundamentals-Database-Systems-Ramez-El... , though I haven't read it myself.
For what it is worth, I learned from Database Systems: The Complete Book.
http://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/...
DS:TCB is pretty explicit about which of the SQL it teaches is part of which standard. That said, I suspect that any general database book should do a reasonable job.
Re: Ask HN: I want to start learning about databases, where should I start?
#34If you use Firefox or a similar program that makes use of SQLite, that would be the best place to start -- you'll get experience working with a database populated with real data that is relevant to you, and one that has been designed for practical use instead of just a book example. Copy ~/.mozilla/firefox/ /*.sqlite into another directory and start playing with those files. It should be easy to come up with things y…
SQLite is such a beautiful program. It doesn't do much, but what it does do, it does very well. If I need to analyze some data, say in a logfile, I'll often write a trivial bit of Python to load it into SQLite and do my work in SQL. For a few 10s of Gs of data, this works brilliantly. I'd go so far as to say it's the least-buggy program I use day to day, and that includes the OSs I run it on and "real" commercial dat…
Re: Ask HN: I want to start learning about databases, where should I start?
#35If you have access to a Windows machine my two cents says get a copy of SQL Server Express. In addition to that you will want a copy of the AdventureWorks database and the SQL Server Books Online.
SQL Server Express is a solid and free (as in beer) database engine. There are processor and file size limitations, but other than that it is pretty much the same as every other version they sell.
The Books Online (available online or as an installable download) has tutorial style information on every level of the system; database engine, reporting services etc.
The AdventureWorks database is a sample database that is used in the BOL and just about every other SQL Server tutorial I have seen. It is quite extensive and will save you from having to create your own data.
I'm sure somebody here will try and pick this apart, but this is how I learned. If it means anything, I have been employed as a Databse Analyst for the past four years.
They also offer "SQL Server 2008 R2 Update for Developers Training Kit", but I have not tried it. http://www.microsoft.com/downloads/details.aspx?familyid=FFF...
SQL Server Express: http://www.microsoft.com/sqlserver/2008/en/us/R2Downloads.as...
BOL: http://www.microsoft.com/downloads/details.aspx?displaylang=...
Adventure Works site: http://sqlserversamples.codeplex.com/
Re: Ask HN: I want to start learning about databases, where should I start?
#36http://www.amazon.com/Beginning-Database-Design-Novice-Profe...
Re: Ask HN: I want to start learning about databases, where should I start?
#37If you do work with Oracle, Tom's "Ask Tom" site is excellent for learning tips and tricks, as well as for finding elegant solutions to tricky SQL problems. Again, it is oracle focused, but still very valuable. Link to Ask Tom:
Re: Ask HN: I want to start learning about databases, where should I start?
#38The only thing you really need to understand about databases is that they store data for you, ie. they persist data. So once you get that then you start asking questions like "where" and "how". The "where" is on hard drives. Don't let anyone tell you that a purely memory resident data store is a database, it's not. It's a cache. If you aren't writing to disk you are not a persistent database. Think memcached and redi…
I want to be careful in how I phrase this, because I feel like this was a good effort, but I disagree with many parts of this description. First, databases are not "just" about persistence, and I don't mean that in a pedantic way. The point of a database management system is to manage your data over time and allow you to make use of it. This includes things like stating constraints to ensure that the data in the data…
...is like saying "the only thing you really need to know about sex is that it is for procreation." :-)
Sorry - couldn't resist. Utilizing databases effectively is often an area that is overlooked or kind of an afterthought. In my experience, often issues of scale stem from poor database design.
I put this in a separate comment, but any of Tom Kyte's books are excellent for gaining an understanding of how to use databases effectively. Although they are Oracle focused, there is still a lot to be learned about practical database design and utilization from his books. He also has a great site called “Ask Tom” where he answers questions. I have learned a ton from simply reading questions and his responses. Again, all Oracle focused, but very valuable nonetheless.
Ask Tom Link: http://asktom.oracle.com/pls/apex/f?p=100:1:0