Developers often jump into new technologies before they have any idea why, or if, they need them. This leads to questions like Couch or Mongo? Redis or Tokyo? Cassandra or Voldemort? In this talk, we will take a few steps back to analyze what is drawing everyone to NoSQL and why the concept as a whole has a bright future.
Where did MongoDB come from, anyway? What are its design goals and best use cases? How does it work internally? And why isn’t it more like Dynamo? While most talks about MongoDB describe how to use the system, this talk will focus on MongoDB’s design philosophy and how it contrasts with the design of other prominent database systems. Particular attention will be paid to MongoDB’s approach to durability and scaling, but there will also be time to highlight key internals like BSON and secondary indexes. After all that, a good chunk of time will be devoted to Q & A.
CouchDB is a schema-free document database that is well suited for a wide range of applications. Its built-in query engine and RESTful interface make it an ideal choice for building powerful, scalable web services. In this talk we’ll discuss the fundamental principles of CouchDB and how it fits into the NoSQL landscape. Alan will highlight examples of CouchDB ‘in the wild,’ focusing on how developers use CouchDB’s unique blend of features to power real-world applications.
A website like Orbitz generates millions of searches each day. Storing and processing the ever-growing volumes of data generated by all of those searches becomes prohibitive though traditional systems such as relational databases. This presentation details how Orbitz is using new tools such as Hadoop and Hive to meet these challenges. We’ll discuss how Hadoop and Hive are being used to analyze search data in order to optimize the products shown to users and detect trends in search keywords. This includes such tasks as using Hadoop to extract and transform data, and using Hive to perform statistical analysis on that data.
A graph is a structure composed of a set of vertices (i.e. nodes, dots) connected to one another by a set of edges (i.e. links, lines). The concept of a graph has been around since the late 19th century, however, only in recent decades has there been a strong resurgence in the development of both graph theories and applications. In applied computing, since the late 1960s, the interlinked table structure of the relational database has been the predominant information storage and retrieval paradigm. With the growth of graph/network-based data and the need to efficiently process such data, new data management systems have been developed. In contrast to the index-intensive, set-theoretic operations of relational databases, graph databases make use of index-free traversals. This presentation will discuss the graph traversal programming pattern and its application to problem-solving with graph databases.
The days of the relational database being a one-stop-shop for all of your persistence needs are over. Although NoSQL databases address some issues that can’t be addressed by relational databases, the opposite is true as well. The relational database offers an unparalleled feature set and rock solid stability. One cannot underestimate the importance of using the right tool for the job, and for some jobs, one tool is not enough. This talk will focus on the strength and weaknesses of both relational and NoSQL databases, the benefits and challenges of polyglot persistence, and examples of polyglot persistence in the wild.