{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"114 Are your Database Relationships in a Rut with Dave Ferguson","description":"Dave Ferguson talks about &quot;Are your Database Relationships in a Rut?&quot; in this episode of the CF Alive Podcast, with host Michaela Light. Show notes CF Rut?  Don\u2019t get stuck in a CFer rut Just because you have always done Try new ways too Hence trying different approaches Definition of \u201cinsanity\u201d  What relational databases do most CFers use?  SQL Server MySQL  Is there a better way?  Most systems don't need an elaborate, and possibly expensive, relational database. Most can get by just fine with something else.&amp;nbsp; Can horizontally scale-out to accommodate large data volumes Documents typically align better with code objects Evolve as the app \/ data evolves without restructuring  Types of database  Hierarchical databases Network databases Object-oriented databases Relational databases  Links data via Primary and Foreign keys Standard T-SQL query language Ridged schema\/structure Referential Integrity (ACID)   NoSQL databases  You don't have to store your data in predetermined columns each row can have a data structure the other rows don't Examples MongoDB Apache CouchDB MarkLogic Azure Cosmos DB Couchbase   Key value databases  (a type of NoSQL) Amazon DynamoDB Oracle NoSQL Database InfinityDB Redis   Wide-column Stores  Google Bigtable Amazon DynamoDB Apache Accumulo Apache Cassandra Apache HBase Why  Column formatting and names vary row to row Columns are stored separately on disk Data searching can be faster     Graph Databases  Neo4j ArangoDB Dgraph OrientDB Amazon Neptune Intensive data relationship handling. Relationships are treated as a first-class citizen Structure and schema of a graph model can flex as applications and industries change Database can e    Transactions pros and cons  Relational databases have transactions - a group of SQL statements either all succeed or are all rolled back. Is this always best for app?  Downsides of NoSQL  No \/ Minimal ACID Support ACID =  Atomicity, Consistency, Isolation, Durability \u21d2 Transactions&amp;nbsp;   Little to no standardization between NoSQL products NoSQL uses &quot;Eventual Consistency&quot; over transactions Avoid NoSQL for  Banking Online gaming Rights Management Complex \/ Dynamic querying    Use  Collection = table  createCollection   Document = row  objects    What database type is more appropriate than others for certain data? Where using a hybrid of databases makes sense and how that would look to a system? How easy is it to use alternative databases with CF 2021?  ACF 2021 Package manager Install MongoDB locally Use MongoDB Atlas DO MongoDB  Where \/ How would I start  Sample MongoDB collections Books ____ Websites ___ Vids ___  CAP Theorem  Consistency&amp;nbsp;  Every node in the cluster responds with the most recent data, even if the system must block the request until all replicas update.   Availability&amp;nbsp;  Every node returns an immediate response.   Partition Tolerance&amp;nbsp;  Guarantees the system continues to operate even if a replicated data node fails or loses connectivity with other replicated data nodes.     What is LearnCFinaWeek?  Free learn modern CF resource Key contributors  Dave Ferguson Daniel Fredericks Carl Von Stetten    What is new at&amp;nbsp; LearnCFinaWeek?  Learn CF in a week Open source  CF training The LearnCFinaWeek site code   Modernized code  Cfscript ColdBox   Update for CF 2021 Week 2  Why are you proud to use CF?  It makes the hard stuff easy  WWIT to make CF more alive this year?  Don\u2019t dismiss due to itself Showcase what it can do with less people in faster dev cycle  Mentioned in this episode  CFHour ACID&amp;nbsp;  CommandBox episode&amp;nbsp;  LearnCFinaWeek  Bio Dave Ferguson  Dave has spent the majority of his life living in sunny Southern California. Over the past almost 23 years has worked in information technology after his attempt at being a career restaurant manager failed miserably. He has spent the majority of that time specializing in large enterprise-class systems. When not writing code, Dave is an avid gamer and competitive martial artist with multiple championship titles. Links  LinkedIn Twitter  Interview Transcript Michaela Light 0:02 Welcome back to the show. I'm here with Dave Ferguson. And we're going to be talking about how your database relationships may have fallen into a rut and how to get out of sad, right so your relationships can be fabulous with your ColdFusion and database. So welcome, Dave. Dave Ferguson 0:19 Hello, how are you? Michaela Light 0:22 I am absolutely effing fabulous. How are you in sunny California, Southern California. Dave Ferguson 0:28 I wish it was sunny. It is Southern California but not sunny. Michaela Light 0:31 vakeel bio says sunny Southern California. It must be sunny Dave Ferguson 0:36 it mostly it's sunny. But it's cold. It we're in like the cold spell right now. But it's normally pretty, pretty nice here. Can't complain. Michaela Light 0:45 So you're somewhere south south of Los Angeles. I understand one of those amazing theme parks. Dave Ferguson 0:50 Yes. Not not not the ones ran by the mouse. The other the other kind? The more extremes non mouse theme, the non mouse departs with extreme rise. Yes. Well, that's Michaela Light 1:00 very appropriate than non mouse because we're going to be talking about non SQL or no SQL. So that's just a plug for what's coming up. Yep. Yes. But you've been doing it and cold fusion for decades now. Oh, Dave Ferguson 1:16 it feels like an internal debate about how you? Yeah.  Read more &amp;nbsp; ","author_name":"ColdFusion Alive","author_url":"https:\/\/teratech.com\/podcast\/","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/23125226\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/133988475"}