> "Most applications today run on a database technology that was introduced in the 1970s," Ittycheria said. "In the '70s, I was using a rotary phone to have a phone conversation. So people are looking for a modern, scalable and flexible platform." It's like a weird version of the Turing test where you have to decide whether someone's speaking seriously or in jest when they talk about NoSQL. https://www.youtube.com/wa…
MongoDB shares jump more than 30% in $192M IPO
181–190 of 425 posts
Re: MongoDB shares jump more than 30% in $192M IPO
#182Earlier quoted context omitted.
You've got options there though https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80...
No. EAVT is great as an intermediate format but it is absolutely useless to query for since most of the time you are trying to find a set of attributes for a given entity i.e. full table scan. What you want is a "wide table". One entity column and all the attribute columns to the right. Often with most of the values set to null. This is the dream use case for MongoDB since it you can ignore sparse values yet when you…
JSONB is designed for exactly this, isn’t it?
Re: MongoDB shares jump more than 30% in $192M IPO
#183Earlier quoted context omitted.
I'm continuously amazed when I hear about mongodb in use. Not over say postgres, I get that there are nosql advantages, but over literally any other nosql option. https://en.wikipedia.org/wiki/Poe%27s_law is the term you're looking for...
In general NoSQL solutions are optimized for certain use-cases at the detriment of others. If you're looking for a general purpose database, then RDBMSs like PostgreSQL are your best bet. So that said, when comparing NoSQL solutions, ending up with an apples versus oranges comparison is almost inevitable.
Re: MongoDB shares jump more than 30% in $192M IPO
#184Earlier quoted context omitted.
RDBMS makes sense for most applications. Most applications store data that can be fit to the relational model. Most applications aren't big data or data mining OLAP. Most RDBMSs can do key-value stores very well now. Most applications also care more about consistency over availability, which is what RDBMSs do (CAP theorem). Many NoSQL data stores choose availability and partitioning and sacrifice consistency (i.e., "…
You don't seem to know this, but no traditional RDBMSs actually provide CAP consistency, for that they would have to use at least two-phase commit or something, but they don't. So, they all are noCAP databases. Electronic health or financial records are way safer in a proper eventually consistent database, like orders of magnitude safer, but everyone just takes the risk with some insurance at best to cover the losses…
At the single server level (which is how I think others here are interpreting your comment)? No, they all do, with the exception of some configurations of MySQL (especially older editions, which is why it's often maligned by DBAs). That's what transaction logs do. They're literally a write ahead log (WAL). You commit a transaction, and the DB first obtains an exclusive lock on the affected rows (or page, or table). Any other transaction attempting to read or update those rows will be blocked (with exceptions). It then writes the change to the transaction log and flushes the change to disk. Then it writes the changes to the database file and flushes the change to disk. Then it returns the results of the query to the user. Many RDBMSs let you control how tightly the locks are and the degree that the data are isolated during a transaction.
At the distributed network server level? Then I guess I kind of agree with you, sure. RDBMSs let you "get around" the problems of distributed scaling by not letting you do it easily. SQL servers often only have master/slave or publisher/subscriber setups or otherwise partition the data between instances with sharding. There's no need for raft or paxos type algorithms because they don't attempt to implement a true multi-master environment. There's either a fixed overall master, or each server is the deterministic master of it's own little world, so you avoid consistency problems with distributed data. However, in doing so you sacrifice availability, since if a shard goes down so does all that data, or if the master is busy then you can't always submit queries to the slaves. Replication is used for redundancy, not scaling or load balancing. The solution RDBMSs had was sharding + master/slave replication for redundancy, which can get messy fast and has issues like hot spots or limited queries or variant performance. It's just a lot harder to do than it feels like it should be, and with storage as cheap as it is it feels like a waste of effort.
That said, some RDBMSs do allow you to use multimaster, bidirectional, or peer-to-peer replication, but most of those configurations basically warn you that you're sacrificing consistency by doing it and all of them that I've seen are a huge pain in the ass that makes shard + replicate look like child's play. They also have schema requirements that make life difficult, and they're somewhat notorious for being difficult both to administer and develop for. You have to design the whole thing from the ground up to work with this type of replication, it still feels like a house of cards, and it's this exact level of pain in the ass that encouraged the partitioning and availability focused NoSQL data stores.
However... most applications don't need that kind of scaling. They don't need a database in every time zone for single millisecond response times globally. They don't have the users to demand it, or don't have the quantity of data to require it, or have other requirements that make a traditional RDBMS desirable where you can't accept a system that allows for out-of-date data (which is when PACELC theorem kicks in because NoSQL typically doesn't have locking like an RDBMS does to mitigate this particular problem).
Re: MongoDB shares jump more than 30% in $192M IPO
#185> "Most applications today run on a database technology that was introduced in the 1970s," Ittycheria said. "In the '70s, I was using a rotary phone to have a phone conversation. So people are looking for a modern, scalable and flexible platform." It's like a weird version of the Turing test where you have to decide whether someone's speaking seriously or in jest when they talk about NoSQL. https://www.youtube.com/wa…
I know there's quite some aversion to NoSQL around here, and generally I don't care much as I'm seldomly dealing directly with databases. But recently, I've been exposed to a fairly big and complex SQL one with several references between entities and lots, lots of X_has_Y tables. This makes me think that with growing complexity (which seems to be a general trend), NoSQL databases seem more practical at some point, or…
Less rigid than what? The schema is going to exist somewhere...
Re: MongoDB shares jump more than 30% in $192M IPO
#186> "Most applications today run on a database technology that was introduced in the 1970s," Ittycheria said. "In the '70s, I was using a rotary phone to have a phone conversation. So people are looking for a modern, scalable and flexible platform." It's like a weird version of the Turing test where you have to decide whether someone's speaking seriously or in jest when they talk about NoSQL. https://www.youtube.com/wa…
I know there's quite some aversion to NoSQL around here, and generally I don't care much as I'm seldomly dealing directly with databases. But recently, I've been exposed to a fairly big and complex SQL one with several references between entities and lots, lots of X_has_Y tables. This makes me think that with growing complexity (which seems to be a general trend), NoSQL databases seem more practical at some point, or…
Re: MongoDB shares jump more than 30% in $192M IPO
#187Earlier quoted context omitted.
> Yes they hit these points hard, but only from marketing point of view MongoDB serviced one of my projects for 5 years without a single hitch. It did everything I wanted it to do, it did it well, it did it exactly as advertised (no more, no less), and it did it right when I needed it. It never stopped improving during those years, massively in some aspects. The company behind it only grew stronger during those years…
Based on my experience, your use case was simple enough that any database would do just fine.
Re: MongoDB shares jump more than 30% in $192M IPO
#188Re: MongoDB shares jump more than 30% in $192M IPO
#189> "Most applications today run on a database technology that was introduced in the 1970s," Ittycheria said. "In the '70s, I was using a rotary phone to have a phone conversation. So people are looking for a modern, scalable and flexible platform." It's like a weird version of the Turing test where you have to decide whether someone's speaking seriously or in jest when they talk about NoSQL. https://www.youtube.com/wa…
Re: MongoDB shares jump more than 30% in $192M IPO
#190MongoDB isn't usually seen favorably but everyone must admit that it's an unlikely success story that deserves admiration. Think about it. Bringing a database to the market with a completely different paradigm, growing it to the enterprise-production-ready level, and creating a billion-dollar business around is no small deal. Yes, they did ride the NoSQL zeitgeist but they survived when others had no major success. U…
(Note: I used to be optimistic about NoSQL, but I was dismayed by the extremely low quality that NoSQL products started out at, and stayed at, for a very long time)