Live data from Hacker News

Redis-V8

redis-v8.com

41–50 of 73 posts

Re: Redis-V8

#41
post #27

Earlier quoted context omitted.

Because some databases have a significant usage among web developers and web developers have a significant expertise in javascript.

Which sadly doesn't mean that they have a lot of experience in the algorithms involved when handling datasets.

Since when does every use of a database involve handling datasets in a way that needs experience and "algorithms". A key value store can be used as... a key value store if need be. It doesn't need to be crazy science.

Re: Redis-V8

#42
post #18

Earlier quoted context omitted.

1) JS is easy, almost everyone can work with it. 2) V8 is faster than LUA 5-10 times........ 3) MVC - Model and crons, i think should be in DB.

i wonder if JS will empower any embedded hw projects soon. writing the next mars rover in js anyone?

No, because it's entirely non deterministic and mostly an evolved shit-crock rather than an engineering tool.

Re: Redis-V8

#43
post #41
post #27

Earlier quoted context omitted.

Which sadly doesn't mean that they have a lot of experience in the algorithms involved when handling datasets.

Since when does every use of a database involve handling datasets in a way that needs experience and "algorithms". A key value store can be used as... a key value store if need be. It doesn't need to be crazy science.

Once you start scripting your K/V store, its not a simple K/V store anymore.

I am not against databases with scripting capabilities and I do not think javascript/front end developers are per se naive, but I've far to often seen the naive assumption that just because its javascript, everyone can handle it.

Re: Redis-V8

#44
post #14

Earlier quoted context omitted.

That's the first thing I thought. Having spent literally the last 10 years removing stored procedures and extensions from software products to eek out a little more from the black box that is a database engine and remove all the rats nest of logic, why would I want to go and do the same all over again? Of all the things I've learned in the last 20 years or so, you shouldn't stick any logic or programmability inside t…

Exactly what bad things happen when you put logic in the database? At my current employer, most business logic is in stored procedures.

So many times I've seen people picking up the pieces of a "We'll just do everything in SP's!" project architecture." Anti-pattern city. The typical answer to make it scale or maintain well is to just throw it out.

Re: Redis-V8

#45
post #30
post #26

Earlier quoted context omitted.

? -> English?

Russian, by looking at the Quick Start page: http://redis-v8.com/quick-start

Eh, my Russian is as terrible as his English is.

Re: Redis-V8

#46
post #18

Earlier quoted context omitted.

1) JS is easy, almost everyone can work with it. 2) V8 is faster than LUA 5-10 times........ 3) MVC - Model and crons, i think should be in DB.

You know what's faster than JS? C. C, the language many VMs are built in and tasked with running these kinds of things.

And ASM is faster than C.

Javascript strikes a nice balance between performance and high level usability.

Re: Redis-V8

#47
post #14
post #9

Why would I choose to use JS in a DB? Why, oh why? This language has more quirks then a 2012 US Republican Presidential candidate.

That's the first thing I thought. Having spent literally the last 10 years removing stored procedures and extensions from software products to eek out a little more from the black box that is a database engine and remove all the rats nest of logic, why would I want to go and do the same all over again? Of all the things I've learned in the last 20 years or so, you shouldn't stick any logic or programmability inside t…

Honest question. Where should you stick your db related logic if you don't want to replicate it in every app that touches the database. Do you write some sort of middleware that sits between the apps and the database and never let any apps talk directly to the database?

Re: Redis-V8

#48
What's wrong with Lua when the task at hand is writing small scripts mostly putting together a few Redis primitives?

Re: Redis-V8

#49
post #41
post #27

Earlier quoted context omitted.

Which sadly doesn't mean that they have a lot of experience in the algorithms involved when handling datasets.

Since when does every use of a database involve handling datasets in a way that needs experience and "algorithms". A key value store can be used as... a key value store if need be. It doesn't need to be crazy science.

This isn't true. Once you have tens of thousands of records, a poorly written algorithm or data structure is going to lead to O(n^2) behavior. That hurts. Even small sites can hit this amount of database records with ease.

Re: Redis-V8

#50
post #47
post #14

Earlier quoted context omitted.

That's the first thing I thought. Having spent literally the last 10 years removing stored procedures and extensions from software products to eek out a little more from the black box that is a database engine and remove all the rats nest of logic, why would I want to go and do the same all over again? Of all the things I've learned in the last 20 years or so, you shouldn't stick any logic or programmability inside t…

Honest question. Where should you stick your db related logic if you don't want to replicate it in every app that touches the database. Do you write some sort of middleware that sits between the apps and the database and never let any apps talk directly to the database?

Exactly that. The "middleware" as you put it can manifest itself as one of several things (vastly simplified explanations):

1. Sits in front of your data store and exposes your application's API via HTTP for example. Typical SOA/public API type architecture.

2. Sits inside your web application as a component which you talk to via your internal API. In a Ruby/Python/PHP/Java/C# setting, you would typically have a class with methods on it which correspond to API calls.

3. Ships with your application (if a desktop one for example) and serves an internal API. As above but the component ships with the desktop application.

We do 1 and 2 in our product using the same shared components (domain models).

In actual fact, it's completely hiding behind NHibernate so we don't actually ever consider the database as part of the problem that needs solving. It's purely where we put our stuff when we don't want it in memory.

Post reply on HN