Dave Ferguson talks about “Are your Database Relationships in a Rut?” in this episode of the CF Alive Podcast, with host Michaela Light.
“Perhaps we should just talk about, you know how some ColdFusion developers get stuck in a rut with their database or other pieces of CF ecosystem?
Dave Ferguson 6:54
Yeah, mostly, I mean, I would say Yeah, mostly like database specifically. Everybody, I mean, you get this happens with anybody in anything you do. When you get really good at doing one thing. People just tend to stick with it. Because it's like, that's the train just the way I know how to do something. And I'm going to do this because it just makes my life simpler. But at the same time, you're almost doing yourself a disservice, because you're not learning something new that can make your life even easier. So you don't want to have that stuck in a rut of I'm going to do, I'm gonna do the same thing at that 10. Well, you want to do the same thing over to you, you're really good at it. But getting really good at something allows you to learn something else easier then. So if you just stick to one thing, you're never going to get down that I'm going to learn something else easier, because I'm just sticking with one specific thing.”
Contents
Show notes
CF Rut?
- Don’t get stuck in a CFer rut
- Just because you have always done Try new ways too
- Hence trying different approaches
- Definition of “insanity”
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.
- 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
- ⇒ Transactions
- Little to no standardization between NoSQL products
- NoSQL uses “Eventual Consistency” 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 does 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
CAP Theorem
- Consistency
- Every node in the cluster responds with the most recent data, even if the system must block the request until all replicas update.
- Availability
- Every node returns an immediate response.
- Partition Tolerance
- 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 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’t dismiss due to itself
- Showcase what it can do with less people in faster dev cycle
Mentioned in this episode
Listen to the Audio
Podcast: Play in new window | Download | Embed
Subscribe: RSS
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
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.
Michaela Light is the host of the CF Alive Podcast and has interviewed more than 100 ColdFusion experts. In each interview, she asks "What Would It Take to make CF more alive this year?" The answers still inspire her to continue to write and interview new speakers.
Michaela has been programming in ColdFusion for more than 20 years. She founded TeraTech in 1989. The company specializes in ColdFusion application development, security and optimization. She has also founded the CFUnited Conference and runs the annual State of the CF Union Survey.
Join the CF Alive revolution
Discover how we can all make CF more alive, modern and secure this year. Join other ColdFusion developers and managers in the CF Alive Inner Circle today.- Get early access to the CF Alive book and videos
- Be part of a new movement for improving CF's perception in the world.
- Contribute to the CF Alive revolution
- Connect with other CF developers and managers
- There is no cost to membership.