…CouchDB, because we are a database, people often asked us to add features that were in traditional RDBMS's, but didn't fit well with the CouchDB data model. Not being intimately familiar with CouchDB's model and how it all fits together, they don't realize that what they're asking for simply doesn't work. But because we explicitly stated on the project site we aren't a relational database and aren't trying to replace relational databases, it made it …
Why NoSQL Matters
" NoSQL" is a label which encompasses a wave of innovation now happening in the database space. The NoSQL movement has sparked a whirlwind of discussion, debate, and excitement in the technical community. Why is NoSQL generating so much buzz? What does it mean for you, the application developer? And what place does NoSQL have for apps running on the Heroku platform?
SQL (the language) and SQL RDBMS implementations ( MySQL, PostgreSQL, Oracle…
A relational OLAP (or ROLAP) server uses data stored in an RDBMS. These systems trade the performance of a multidimensional store for the convenience of an RDBMS. These servers almost always query over a database which is structured as a STAR or snowflake type schema. To go back to the sales analysis example above, in a STAR schema the facts about the sales would be stored in the fact table, and the list of customers and products would be stored in separate dimension …
Relational databases know how to manage relational data. That's what they do, it's in their name. Referential integrity ensures that a child row always has a valid reference to a parent row. If a child has parent_id of 1, then a parent with an id of 1 is guaranteed to exist. Referential integrity has been a solved problem for decades using foreign keys. It is a proven fundamental property of solid applications, yet Rails has no best practice for using them. Rails has tried to reinvent …
Relational Databases are all about the Data
Yes, they are. They are about trying to fit your data into a constrained schema, constrained in length, type, and other things if you see fit. They're about building relationships between your data in a strongly coupled way, think foreign key constraints. Whenever you need to add data, you need to migrate your schema. That's what they do. They're good at enforcing a set of ground rules on your data.
See where I'm going with this? …
About five years ago, I was done with a startup and decided I didn't want to take a normal job. Relational databases were everywhere at that point, and MySQL was getting insanely popular. I had a lot of fondness for the LotusNotes platform, although it was very much the ugly duckling.
I saw all of its warts, but I also saw that it had some beauty, and I wanted to take that beautiful part and bring that into the modern open source web. I quit my paid software career and moved my family …
Creativity & Constraint - Neal Ford
"Some of the 'facts' in this talk may in fact be harmless lies" - disclaimer of @ neal4d # railsconf
This disclaimer needs to be in front of all keynotes.
I'm Not Old, I'm seasoned. @ neal4d # railsconf
Me too buddy, me too.
"The right community to suggest something really weird to" @ neal4d # railsconf
RT I so wanna go to Neal Ford's halloween party! # railsconf
Constraints are liberating: …
Nodes: a node is basically an entity as RDBMS people (like probably you and I) are familiar with. A node could represent a person, customer, blog post, photograph, video or tweet. It isn't always true, nor is it a good idea to think of graph database concepts only in terms of RDBMS concepts, but we could consider most tables that do not represent an actual relationship or association between other tables as an entity. It is a simplification, so use only in this initial learning phase …
…AE service runs during "major compactions" (the equivalent of rebuilding a table in an RDBMS) so it is a relatively heavyweight process that runs infrequently. AE uses a Merkle Tree to determine where within the tree of column family data the nodes disagree and then repairs each of those branches.
This is the last post in my series on Cassandra. I hope you enjoyed them! Please leave a comment if you have questions or if I've made an error above.
…especially when the data application is just as concerned with connections between entities (aka records in RDBMS or nodes in graph databases) than just the entities themselves.
First off I want to look at the inherent problems with modelling real world data in relational databases and how the approach of graph databases can overcome many, if not all, of these problems. Then I will launch into a specific snippet of code to demonstrate modelling marriages that can be between any two consenting …