Note on Mongo..

But what will move to MongoDB is all many new iterations of problems that otherwise would have gone to SQL, but now NoSQL can handle.

It is worth noting that there is a fairly large class of data which is inherently a mix of fixed and flexible, i.e., every record will have some fixed fields like date, time, source, transaction type, or whatever and then the remainder of the data is a JSON document or whatever of highly variable composition. These get handled in relational databases by defining a table with the fixed fields and then a CLOB or BLOB field to handle the flexible part. In some cases, relational databases are even starting to have a JSON datatype which supports flexible queries. In isolation, data like this is a good candidate for a document oriented database, but if there are other tables which are appropriate for rigid structure, there can be an argument for implementation in a relational database.

And NoSQL is not only more cost effective license wise, not only easier to work with programming wise, it is also far more scaleable.

Is this actually true? I know of some awfully big relational databases … hundreds of terabytes if I remember correctly. I know Mongo is supposed to be very scaleable, but I wonder about the “far more” part.

1 Like

https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-int…

Mongo as an API is definitely a great idea. So much so that at least one of the cloud contenders offers it as a functionally equivalent service but on their own platform.

NoSQL has many options that have been well-discussed here.

As an investment I would ask what moat Mongo has to protect from intrusion. If a large corporation has already made it drop-dead simple to move off of free infrastructure because your business has become successful, I would ask how Mongo is going to make money from its free users? Sure it’s a great tools for students – but corporations betting their quarterly bottom lines are going to bet on products that are supported and are going to be supported for a long time.

IMO Mongo will need a few years of success and some high-profile high-volume wins before it becomes a good investment idea.

2 Likes

Tinker’s right about how disruptive technologies work when he says: They disrupt by finding something that the existing standard technology does not do well enough, and that they can do better. Otherwise the product is considered unwieldy, or too expensive, or too unsecure, etc.
What happens, over time, is that disruptive product gets better and better, more mature, and suddenly what once was a niche, becomes a larger niche, and a larger niche, until it is no longer a niche. (emphasis added)

But, that something needs a growing market. In the book that coined the term Disruption, Clayton Christensen pointed out that hydraulics struggled against steam/cable driven excavators for years. It wasn’t until someone put a small hydraulic arm with a 1 foot wide shovel on the back of a tractor, thus inventing the back-hoe, that sales took off, as every farmer needed to dig irrigation ditches. Growing sales and profits enabled technology development, and eventually even the big excavators went hydraulic.

So, when looking at databases, what’s the growing new market that’s going provide the disruption fuel?

I think the answer is probably two-fold: IoT (Internet of Things) and Analytics. Even companies that today may not think of themselves as having things actually do. And whether they’re monitored by hardware reporting in or not, to succeed in the future companies need to analyze the data from their things, whether they be customers, sales people, dealers, stores, items for sale, etc.

For this kind of data and analytics thereof, a relational DB makes little sense. Once received, the data literally doesn’t change - instead new records are simply added. Tracking where a device moves or what a dealer is selling more of, etc. represent new data, not a transaction on old data (or at least the transaction part is far less critical).

It seems that people analyze MongoDB as if it only needs to be taking 100% of the market from SQL.

Yes! In my view Mongo shouldn’t be worried about relational database competition right now.

That is how disruptive technologies work. Let me know when Cassandra has ACID for multiple documents, or has the analytical capabilities that Mongo creates, or has the ear of C level executives in enterprises that MongoDB states that they have.

Well, I question whether adding ACID capabilities is really in Mongo’s best interest at this time. Even back in 2005, people were backing away from needing that in many traditional cases: https://www.enterpriseintegrationpatterns.com/docs/IEEE_Soft… and then 8 years later: http://highscalability.com/blog/2013/5/1/myth-eric-brewer-on…

Just as the hydraulic companies did best when not even trying to compete with the existing technologies in existing use cases, so I think should disruptive technologies like NoSQL databases not be trying to compete today.

I think serious developers will be considering things like write performance, uptime, fail-over delay, etc. Cassandra’s multiple master model is superior not only for write performance and especially for uptime, where fail-over is instantaneous while Mongo takes at least a couple seconds in most implementations to fail-over it’s single master, during which time writes are lost.

Mongo should be working on solving the new world of Big Data Analytics, driven by growing markets such as micro edge computing and IoT. I think Cassandra is popular mostly because its queries look like SQL (it even has SELECT and INSERT type statements), so it’s easy for old DB programmers to switch over - but us old guys are dying off so it’s time we had something better.

I don’t see Cassandra being a concern to the company Mongo, but then also see trying to play well in the transactional, relational world as something that could even backfire.

9 Likes

IMO Mongo will need a few years of success and some high-profile high-volume wins before it becomes a good investment idea.

Ever hear of Fortnite? If that is not enough Cisco runs MongoDB as the database on its multi-billion dollar business critical eCommerce site, so does Citibank as another example, with Citibank even discussing moving the back end stuff that would normally run on SQL onto Mongo (prior to ACID).

The value of ACID is simply that it has the capability to do what SQL can do, and this creates comfort in C-Level executives that it is future proof. The CIO of Mongo states that maybe 1 or 2% of use cases will ever need it, but having it is what checks off the last box.

What the CIO personally likes better, and that IS ALSO NO OTHER NoSQL database does, is its aggregation pipeline.

In my opinion the market is shaping up, and Mongo focuses on this word, “general” the modern general database. All other NoSQLs focus on niches such as, “we are better at this, or faster at that, or more secure on this, or best for start ups (Couchbase, they gave up on the enterprise market)” but only Mongo is the GENERAL purpose modern database.

Every developer has their favorite database, or gets down to brass tax and says ex is better because of y, but in the end it is the general purpose database or operating system (Oracle/Windows) that gains marketshare that takes the vast majority of profits in the industry. Just because Windows existed, did not mean not mean that Apple OS and Linux could not find their niches, or that because Oracle dominated that SyBase could not find its niche uses, but the point being…

So what. It is the market dominant general product that consumes the market and provides the long-term returns. that also creates long-term competitive advantage as it is no longer enough to be just as good, or somewhat better, you have to be a heck of a lot better to overcome the industry standard. Good luck trying to compete on that basis unless something disruptive happens.

Currently that product is MongoDB and seems to be gaining momentum, along with 3 other databases (one is an old database made into a hybrid SQL, the other two are new ones) but none of them complete NoSQL GENERAL purpose database for mission critical modern loads.

Postgres, as an example, simply could not and cannot run Fortnite. Cassandra could have, but was not chosen. Cassandra is not gaining ground in the market (not amongst the three others - Postgres is however). Mongo enabling the largest online massively networked game in history is not escaping attention from enterprises and the gaming industry.

Neither are the new features in MongoDB that include two powerful features that no other NoSQL has.

Tinker

16 Likes

If I understand correctly No SQL does not mean ‘Non Sequential’ but rather “Not Only Sequential” so Mongo should be able to do both.
Even though it might be better/more efficient at one type. Is this correct?

No, SQL + Structured Query Language

While designed for and conceptually intrinsically relational, there are products like Progress’ Hybrid Data Pipeline (formerly DataDirect Cloud) which provide SQL access to NoSQL sources and a variety of other cloud-based information sources like Salesforce. Unfortunately, this does not appear to include Mongo although it does include Hadoop, Cloudera, and Pivotal HD Hive.
https://www.progress.com/cloud-and-hybrid-data-integration

1 Like

If I understand correctly No SQL does not mean ‘Non Sequential’ but rather “Not Only Sequential” so Mongo should be able to do both.
Even though it might be better/more efficient at one type. Is this correct?

It means a non-relational database, so it does not work like an SQL that is a relational database.

This enables easier programming and iterations and scaleability, but also is not inherently organized like a relational database has to be by its very nature. Thus set practices in programming should be followed with a non relational database such as Mongo.

What Mongo has uniquely done (and no, Mongo has not always been the best performing database, and sometimes it has been, but that is part of the point it does not matter, anymore than it mattered for Windows, that it is the best performing, as long as it performs well enough) is create the best non-sequential database from the ground up (that is what Mongo will tell you) and enabled the key relational functions that a relationship database has as well.

The two major features that are totally unique to a non-relational database that Mongo bring is ACID multi-document, and the aggregation pipeline.

ACID enables Mongo to act with the flexibility of non-sequential, but with the security and and record keeping capability of an SQL; aggregation pipeline enables analytical functions to take place directly within the database, which is a feature only Mongo has out of non-relational databases, and it is a large advantage in terms of speed and ease and functionality.

You can look up some of the abstractions and functionality that Mongo has built in as part of the aggregation pipeline, it is the CIO’s favorite feature. He gives demonstrations about it use, and is trying to promote it because first it is unique and second he believes its functionality and ease of use is superb to the point of amazing people he shows it to.

In any event, NoSQL = non-relational vs. relational, but MongoDB has managed to cross over and create the functionality of a relational without the rigidity and limitations of a relational database (keep in mind that old time developers state that these limitations are positives because it requires organization when building - but what they do not say is that the same organization can be more easily created in a NoSQL if best practices are used - it can create problems if developers get lazy or haphazard).

Probably more than you want, but I will sum it up with no technical terms, Mongo does things that traditional databases do, but with far easier development, far easier iteration (meaning you can continually make changes to it with no problems), far greater horizontal scaleability (meaning you don’t need ever faster and more powerful computers, instead, just spread it out infinitely over cheap computers or servers in the data center or cloud), and at far better cost.

More than this, because of these features, MongoDB enables applications to be built (such as the MetLife example) that were literally IMPOSSIBLE to be built before Mongo. Things that sound not so difficult, like combining database information from a company and turning it into one consolidated CRM for the company. With a relational database - NOPE (after years of trying). With Mongo - yep, in just a few weeks.

Mongo has become the leading such database, it is the database with the most functionality (even if it is not the best at every metric - who cares), Mongo is adding features and improving faster than any other NoSQL database, and except for niche uses, MongoDB management tells us that they are no longer seeing any relevance in their competition when they compete for business with enterprises. Meaning that enterprises are now choosing between Mongo or something relational, and when they decide the relational database won’t cut it (which is becoming more and more often) they turn to Mongo and no one else.

This does not mean, such as Apple OS, or SyBase, that some developers will brag about how Couchbase is clearly better or Cassandra is faster, etc., sure, probably true. But none of them are being considered modern GENERAL PURPOSE database for mission critical applications at the enterprise C-Level. That is where the real money is, and that is where the industry standard is being set. If you have a niche application that does not require C-level input, you can choose Cassandra for it. Who cares. There is not much money to be made in those applications, and your only competitive advantage in such niche use cases is being the fastest or best performing, and that is fleeting. The industry standard general purpose modern database does not need to be the fastest or best, but just good enough.

Tinker

15 Likes

non-sequential database

This is not a meaningful term.

Mongo does things that traditional databases do, but with far easier development, far easier iteration (meaning you can continually make changes to it with no problems),

I think you would have a very hard time documenting this statement. Yes, relational database do require some thought up front … but one also has to figure out what one is doing with a document store as well. Every significant relational application has had thousands, even millions of additions and modifications since the original version. And, as noted previously, modern high quality relational databases can even do on-line schema modifications. The advantage of Mongo is that it can deal with relatively unstructured or variably structured data without having to parse every possible variation up front.

far greater horizontal scaleability

As previously noted, you need to be careful with this. It is sufficient to say that it has great scaleability, but you have some proving to do to claim that it is greater.

4 Likes

– They have a ridiculously large short position against them. If they have a beat on earnings, that could result in some fireworks.

…and it looks like a bit of a short squeeze is on today…

1 Like