Databases Icon

Databases

Databases, structured data, data stores, etc.
29 Stories
All Topics

Opensource.com Icon Opensource.com

5 tips for choosing the right open source database

Choosing the right open source database is an important decision. Start by asking the right questions. All too often, people put the cart before the horse, making decisions before really understanding their needs. Solid tips by Barrett Chambers. Here's another one courtesy of yours truly: Start your database selection journey by asking yourself, "Why not use PostgreSQL?" 😉

read more...

Git github.com

LiteTree – a modification of the SQLite engine to support git-like branching

Imagine being able to have many connections to the same database, each one reading a separate branch or commit at the same time. Or even writing to separate branches. This is a good idea and a testament to the versatility of SQLite. Click through to read how it works and how they've managed to 2x the performance of SQLite on Linux and macOS.

read more...

Rust github.com

sled – an embedded database for Rust

Careful now, 'sled' is in its alpha stage. Heck, its name is a recursive acronym that means "sled likes eating data", so that should give you an indication of its state (I hope they come up with a new one once the software is stable). The project's goals are on point: don't make the user think. the interface should be obvious. don't surprise users with performance traps. don't wake up operators. bring reliability techniques from academia into real-world practice. don't use so much electricity. our data structures should play to modern hardware's strengths.

read more...

Dimitri Fontaine tapoueh.org

PostgreSQL data types – series recap

Dimitri Fontaine, a PostgreSQL major contributor, has written an awesome blog series on PostgreSQL data types to show how to benefit from the PostgreSQL concept of a data type. The PostgreSQL concept of a data type is more than input validation, a PostgreSQL data type also implements expected behaviors and processing functions. This allows an application developer to rely on PostgreSQL for more complex queries, having the processing happen where the data is — for instance when implementing advanced JOIN operations, then retrieving only the data set that is interesting for the application. The posts in this series were extracted from his book Mastering PostgreSQL in Application Development — which teaches SQL to developers so they can replace thousands of lines of code with very simple queries.

read more...

Matt Jaffee YouTube

The index as a first class citizen

Matt Jaffe was on a recent episode of Go Time and also gave this talk at OSCON recently on indexes as a first class citizen. In this video Matt talks about a piece of software that's purely an index, not a database, not a datastore, just the index — and optimizing that single piece of software to be very fast! Here's a quick breakdown of an index as a first class citizen: Standalone application, not just a data structure Horizontally scalable, distributed FAST, indexes should make things faster Flexible, integrates with other datastores and data types Also, learn more about Pilosa to see Matt's work in action.

read more...

Databases foundationdb.org

FoundationDB – Apple's open source distributed database

Straight from the horse's mouth: FoundationDB is a distributed datastore, designed from the ground up to be deployed on clusters of commodity hardware. And: The key-value store supports fully global, cross-row ACID transactions. That's the highest level of data consistency possible. What does this mean for you? Strong consistency makes your application code simpler, your data models more efficient, and your failure modes less surprising. They say it's "actively developed and has years of production use". I wish they'd say exactly how it's being used in production. (Maybe they do and I haven't found it yet?) Also, if you're getting hung up on "key-value store", the vision is much bigger than that.

read more...

Dimitri Fontaine tapoueh.org

Database modeling anti-patterns 🙅‍♀️

Dimitri Fontaine shares 3 classic data-modeling anti-patterns. The UUID section lacks strong argumentation, but the real gem in this article is his advice at the end. A snippet: My advice is to always normalize your database model first, and then only fix the problems you have with that when you actually have them. Well except in those 3% of cases where really, really, it should be done in the design phase of the project. It’s quite hard to recognize those 3% though, and that ability is hard gained with experience. Experience is the ultimate teacher.

read more...

CockroachDB cockroachlabs.com

Your database should work like a CDN

What do you use when your app needs to provide speed and availability to a global audience? You need a distributed database that... Deploys anywhere Reduces latency by performing reads and writes close to users (while still enforcing consistency, even across a distributed deployment) Maintains uptime by tolerating faults Offers granular control over geographical placement of your data for GDPR compliance Sounds like a CDN.

read more...

Security rdegges.com

Please stop using Local Storage

Randall Degges examines the good and bad uses of Local Storage. tldr, don't use it to store sensitive data. Almost every day I stumble across a new website storing sensitive user information in local storage and it bothers me to know that so many developers are opening themselves up to catastrophic security issues by doing so. Let’s have a heart-to-heart and talk about local storage and why you should stop using it to store session data.

read more...

Rust ncameron.org

A Proof-Of-Concept GraphQL Server Framework for Rust

This framework is very much in the proof of concept stage. There's still a lot to do. The framework provides a seamless GraphQL interface for Rust servers. It is type-safe, ergonomic, very low boilerplate, and customizable. It has potential to be very fast. I believe that it can be one of the best experiences for GraphQL development in any language, as well as one of the fastest implementations (in part, because it seems to me that Rust and GraphQL are a great fit). Also, check out ~> 2018: The year we learn Rust 1.0 and Rust in 2018

read more...

Databases github.com

A Nunemaker Joint

It’s never been easier to do file uploads with MongoMapper and GridFS. Joint, from MongoMapper creator John Nunemaker, is a MM plugin that adds some nice convenience methods to your models: class Foo include MongoMapper::Document plugin Joint attachment :image attachment :pdf end By declaring these two attachments, you automagically get accessors for image and pdf. The setter methods take any IO (File, Tempfile, etc) and the getter methods return a GridIO type from the Ruby driver. John even throws in some nifty proxy goodness: doc.image.id doc.image.size doc.image.type doc.image.name

read more...
0:00 / 0:00