Live data from Hacker News

The Functional Database [video]

infoq.com

21–30 of 37 posts

Re: The Functional Database [video]

#21
post #16

Earlier quoted context omitted.

Okay, so it's a database with version control. I was actually looking for a feature like this a while back in normal databases.

In the database world, we call it temporal databases, because it introduces the concept of time as a first-class part of the conceptual/logical model. Every production database I've ever seen goes through some version of the same evolutionary lifecycle: 1. "We only need the current state". The database acts as a snapshot of the current world. Updates cause the loss of historical data. The database is like a state mac…

Right the term functional is just confusing. Temporal database theory is relatively mature and even part of the SQL standard for which IBM implements in DB2.

Any database that uses a append only log can potentially be temporal so long as it retains the log and exposes the information in the log (which most don't).

Even say PostgreSQL uses a form short term temporal querying in order to provide MVCC, to bad they haven't taken it further to allow fully temporal standards.

Re: The Functional Database [video]

#22
post #16

Earlier quoted context omitted.

Okay, so it's a database with version control. I was actually looking for a feature like this a while back in normal databases.

In the database world, we call it temporal databases, because it introduces the concept of time as a first-class part of the conceptual/logical model. Every production database I've ever seen goes through some version of the same evolutionary lifecycle: 1. "We only need the current state". The database acts as a snapshot of the current world. Updates cause the loss of historical data. The database is like a state mac…

This should be sent to everyone designing a database for anything more than a quick prototype. I agree completely with your lifecycle :)

Re: The Functional Database [video]

#24
post #13

Everything Rich says and does is gold! It surprises and disappoints me that he is not as well known nor revered as the agile craftsmanship peddlers.

I know very well who Rich is, but I don't know (and don't want to know) any of the "agile" proponents.

Early on in the movement, one of the big names who also had some fairly close corporate associations came to speak at a user group meeting hosted at my then BigCo location. I even passed news of the event around so that interested parties in our local shop could head down after hours and have a listen.

I felt rather bad afterwards for having done so. One of the more useless talks I've attended. Very superficially prescriptive (you should do X; Y has seen benefit Z), with no meat to the description (or prescription, as it were).

Agile may well have its place. But its intersection with BigCo life, as anecdotally exemplified in this fellow, seemed to be just more of the "same old same old". New words, same shit.

Re: The Functional Database [video]

#26
post #19

Earlier quoted context omitted.

> A functional DB replaces a "row" that only holds the current state of the world with a list of timestamped "facts" that can represent either the present or any point in the past. ... which isn't 'functional' in any sense. It seems that Hickey just reinvented time series and tries to sell those as database.

> ... which isn't 'functional' in any sense. Functional programming is very closely tied to the notion of immutable data. "Don't modify data in place" is one of the pillars of the functional model. > It seems that Hickey just reinvented time series and tries to sell those as database. Datomic is much more than a time-series, although that's the aspect that arguably makes it "functional." For example, it provides a da…

> Functional programming is very closely tied to the notion of immutable data. "Don't modify data in place" is one of the pillars of the functional model.

I don't think the Lisp fans here at HN agree.

> Datomic is much more than a time-series, although that's the aspect that arguably makes it "functional."

Not really. Time-series are not 'functional' by any stretch of the imagination.

BTW, an add-on to Hibernate, the (in)famous OR-mapper, tries to do something similar: http://docs.jboss.org/envers/docs/index.html

Re: The Functional Database [video]

#27
post #16

Earlier quoted context omitted.

Okay, so it's a database with version control. I was actually looking for a feature like this a while back in normal databases.

In the database world, we call it temporal databases, because it introduces the concept of time as a first-class part of the conceptual/logical model. Every production database I've ever seen goes through some version of the same evolutionary lifecycle: 1. "We only need the current state". The database acts as a snapshot of the current world. Updates cause the loss of historical data. The database is like a state mac…

Temporal databases and immutability are independent concepts. A 'time series database' only solves the simple temporal database problems. When validity comes into play things become really hard (something was entered yesterday but will be valid from tomorrow).

Re: The Functional Database [video]

#28

Such a shame about InfoQ. Seems like they've got lots of interesting content, but the user experience is abysmal to the point where I now avoid the site. Would it be so bad to just let us flick through the slides?

When I'm in a rush for a tldr, I want to flick through a few slides and move on with browsing something else. But, there are a lot of times that I'm not in a rush. When I'm taking a walk or riding the bus, an MP3 of a presentation is a great way to have someone slowly explain an idea that I'm interested in -but not enough to actively concentrate on researching.

Relaxing at home on the couch is another time that I'm not in a rush. I've largely replaced evening TV time with watching presentations on various topics. InfoQ is perfect for that. I get to have an expert take an hour to carefully explain a topic that I'm only tangentially interested in while I semi-nap on my couch after dinner with a beer. This has become a low-effort means for me to gain a high-level understanding of a broad range of topics that I wouldn't otherwise have the time or willpower to sit down and actively study.

Re: The Functional Database [video]

#29

Earlier quoted context omitted.

In the database world, we call it temporal databases, because it introduces the concept of time as a first-class part of the conceptual/logical model. Every production database I've ever seen goes through some version of the same evolutionary lifecycle: 1. "We only need the current state". The database acts as a snapshot of the current world. Updates cause the loss of historical data. The database is like a state mac…

Temporal databases and immutability are independent concepts. A 'time series database' only solves the simple temporal database problems. When validity comes into play things become really hard (something was entered yesterday but will be valid from tomorrow).

Temporal databases rely on the immutability of each record (whether by convention or as a system guarantee). Changes are no longer expressed with updates on a given row; instead you add new rows to represent the change.

Re: The Functional Database [video]

#30
post #19

Earlier quoted context omitted.

> ... which isn't 'functional' in any sense. Functional programming is very closely tied to the notion of immutable data. "Don't modify data in place" is one of the pillars of the functional model. > It seems that Hickey just reinvented time series and tries to sell those as database. Datomic is much more than a time-series, although that's the aspect that arguably makes it "functional." For example, it provides a da…

> Functional programming is very closely tied to the notion of immutable data. "Don't modify data in place" is one of the pillars of the functional model. I don't think the Lisp fans here at HN agree. > Datomic is much more than a time-series, although that's the aspect that arguably makes it "functional." Not really. Time-series are not 'functional' by any stretch of the imagination. BTW, an add-on to Hibernate, the…

It's a functional database since it allows you to create database applications using functional programming.
Post reply on HN