11 ms·
Jepsen's latest analysis of MongoDB -- https://jepsen.io/analyses/mongodb-4.2.6 https://jepsen.io/analyses/mongodb-4.2.6 -- finds that it doesn't even preserve
by sohamsankaran 6y ago
Jepsen's latest analysis of MongoDB -- https://jepsen.io/analyses/mongodb-4.2.6 https://jepsen.io/analyses/mongodb-4.2.6 -- finds that it doesn't even preserve snapshot isolation when set at the highest consistency level. This seems like a pretty terrible decision.
I've never wanted to short a company more in my life.
- lowwave 6y agoSeems like the guys at HSBC tech department are still doing the whole fashion over merit.
- sohamsankaran 6y agoWhat's wild about this is that Mongo isn't even in fashion anymore! NoSQL has been supplanted by NewSQL, and relational dbs are in season again. Even if they were trying to follow the trend, they'd be a half-decade behind.
- catmanjan 6y agoInteresting, what is considered newsql? Postgres?
- bob1029 6y agoSQLite is the hottest new thing on the block.
- mkl 6y agoHuh? SQLite is nearly 20 years old, and is only intended for small scale use.
- bob1029 6y agoIt was intended as a joke in context, but I believe SQLite is far more capable than most will give it credit for. This is especially true for applications which you only ever intend to run on a single logical machine. But, even for those applications requiring multiple nodes, it can still be a powerful tool if you assume clustering & replication duty in your application logic. For any use case, SQLite is one of the best ways to persist structured data to local disk.
- mkl 6y agoOh, I agree about its utility, and use it myself. It seems like a different category of tool than the other DBs under discussion, though.
- sohamsankaran 6y agoSQLite is incredible, especially for embedded applications. It's one of those perfectly-scoped tiny pieces of software that consistently makes my heart sing.
- waheoo 6y agoI try to use sqlite for all projects until i cant. Its a little scary how much it can actually handle, and how lazy and sub optimal it is to reach for a "real" sql server before you need it. Having the database as a simple file right next to yoyr application is incredibly convenient not to mention how brain dead things like backups are to grok.
- sohamsankaran 6y agoI am not a fan of this buzzword (and indeed buzzwords in general, the comment above was intending to make fun of HSBC IT for even failing at the buzzword game), but the notion of NewSQL was roughly to keep the relational model and consistency guarantees of traditional SQL databases, but also have horizontal scalability in line with NoSQL databases. DBs like VoltDB and Spanner come to mind as examples -- here are two relevant blog posts from those teams: VoltDB: https://www.voltdb.com/blog/2016/09/nosql-vs-newsql-whats-difference/ https://www.voltdb.com/blog/2016/09/nosql-vs-newsql-whats-di... Spanner: https://cloud.google.com/blog/products/gcp/from-nosql-to-new-sql-how-spanner-became-a-global-mission-critical-database https://cloud.google.com/blog/products/gcp/from-nosql-to-new...
- geoah 6y agoTidb, cockroachdb maybe?
- AsyncAwait 6y agoNo."Horizontally-scalable" SQL like CockroachDB, TiDB, Google's Spanner or YugabyteDB are examples of NewSQL, Postgres would be "OldSQL" if you will.
- jtms 6y agoPostgreSQL still the best sql though :-)
- pydry 6y agoI work at another big corp in London and mongo has been doing a major sales push on us in the last 18 months (which wasn't pleasant to push back on). I'm fairly sure that this was driven by a similar sales push. Mongo has always been a sales and marketing company first and technology company second. I'd love to see a tear down of their sales and marketing strategy coz its clearly top notch.
- mathattack 6y agoThe strategy is called “Lie, Overwhelm, and Raise Rates on Renewal”
- rgoulter 6y agoI've never heard the term "NewSQL" before. Google Trends comparing "NewSQL" with "NoSQL" https://trends.google.com/trends/explore?date=all&geo=US&q=NewSQL,NoSQL https://trends.google.com/trends/explore?date=all&geo=US&q=N... (Peaking with its introduction in 2011). It doesn't seem like a more fashionable term than NoSQL.
- murukesh_s 6y agoFrom the article, it looks like they are replacing separate DBs used for each country. "Local requirements for each country will be built into the application, but there's no need to maintain separate data models or separate databases anymore. We could easily design the global data model and database using the MongoDB JSON schema model. That brings data from all operating countries into one database and the application can run on just one database. Which is a lot of reduction in resource and maintenance cost. " Are there any other schema-less databases out there that is better than MongoDB? If not I believe it's time for someone to build it.
- kogepathic 6y ago> Are there any other schema-less databases out there that is better than MongoDB? If not I believe it's time for someone to build it. Yes, PostgreSQL supports JSON and won't lose your data: https://www.postgresql.org/docs/current/datatype-json.html https://www.postgresql.org/docs/current/datatype-json.html Benchmarks: * https://portavita.github.io/2018-10-31-blog_A_JSON_use_case_comparison_between_PostgreSQL_and_MongoDB/ https://portavita.github.io/2018-10-31-blog_A_JSON_use_case_... * https://www.postgresql.eu/events/fosdem2018/sessions/session/1691/slides/63/High-Performance%20JSON_%20PostgreSQL%20Vs.%20MongoDB.pdf https://www.postgresql.eu/events/fosdem2018/sessions/session...
- murukesh_s 6y agoFrom the second link, summary: Summary - PostgreSQL ● PostgreSQL has poor performance out of the box ○ Requires a decent amount of tuning to get good performance out of it ● Does not scale well with large number of connections ○ pgBouncer is a must ● Combines ACID compliance with schemaless JSON ● Queries not really intuitive Summary - MongoDB ● MongoDB has decent performance out of the box. ● Unstable throughput and latency ● Scale well with large number of connections ● Strong horizontal scalability ● Throughput bug is annoying ● MongoDB rolling upgrades are ridiculously easy ● Developer friendly - easy to use!
- isatty 6y ago> Queries not really intuitive ISHYGDDT
- rndgermandude 6y agoData loss is a good thing at HSBC, banker of the criminals and terrorists™️[1], for when the feds come knocking [1] https://www.theguardian.com/business/2012/dec/11/hsbc-bank-us-money-laundering https://www.theguardian.com/business/2012/dec/11/hsbc-bank-u...
- mpweiher 6y agoMongoDB: The best DLAAS solution money can launder. (Data Loss as a Service™)
- ncmncm 6y agoIs HSBC still the bank favored by the CIA for its money laundering needs? I had read that for an FBI agent to look into HSBC was a "career-limiting move", but that was 10 years ago. Maybe CIA have moved to another by now?
- rumanator 6y ago> I had read that for an FBI agent to look into HSBC was a "career-limiting move" Do you have any source that substantiates your assertion?
- tluyben2 6y ago2012 ... they are very strict now. Not saying it cannot happen but at least for normal people it's hard. They check far more than any other bank i'm with and compared to challenger it's almost a black comedy how much you need to fill out, prove, sign etc to open an account. At least in HK hometown. Disclaimer: I have an account there.
- rapsey 6y agoOr it is all theatre.
- tluyben2 6y agoLike I said, could be, but if I wanted to do something not entirely on the up-and-up, I would just open a challenger/neo-bank account in 5 minutes from my home and do it in there. Not somewhere where they have proof of everything I have and do which I need to refresh every year.
- downerending 6y agoI got a credit card with them a few years back and immediately regretted it. Their tech (website, security, etc) seems okay at first glance, but almost immediately it turned into agony. Even just logging in is a chore, and often doesn't work. Their two-factor implementation is a mess. In short order, I cut the card up. Still get sad emails (which they provide no way to stop) begging me to use it. Also, interviewed at MongoDB once. Couldn't shake the feeling of a cult, where everyone was careful not to speak of the product's serious limitations.
- drevil-v2 6y agoHaha I feel this. Did you also have the credit card sized token generator with a keypad? How convoluted was that login process? Agony is the correct term!!
- jen20 6y agoI had forgotten about this but the dumb 2FA generator is the reason I switched away from HSBC for Citibank (UK) many years ago!
- ddalex 6y agoI dunno. I am banking with them (also other banks) and they are pretty good - most of the other banks face similar problems around the same areas, which I ascribe to very strict regulation.
- ansible 6y agoCutting up the credit card is good, but you may want to officially close the account.
- downerending 6y agoConsidered it, though by the strange rules of the US credit system, it would harm my credit score to do so.
- mathattack 6y ago
- blablabla123 6y agoTransactions in bank accounts are actually not realized through DB transactions. It's easily visible if you ever had a failing payment: the amount gets subtracted but added again right away after that. They have pretty strong auditing requirements.
- nurettin 6y agoThis is the only comment worth a thing here. Unless mongodb causes irrevocable data loss, eventual consistency is easily mitigated using an accounting service. I have seen one of them at work. Transaction amount comes in, it is compared with initial value and the session is kept open until the quantity is fulfilled. If there is a timeout, secondary systems try to recover or alert. Recovery can even deduct overfills or complete fills.
- zo1 6y agoThis seems ridiculously complicated and unnecessary for something that should be as easy as having a proper RDMS that is ACID compliant. I guess now we have one additional reason why banking has stagnated for so long.
- nurettin 6y agoIt is complicated, but necessary. You will get to the ridiculous part once you realize that executing brokers don't care about your acid guarantees or whatever.
- zo1 6y agoThanks for the info - I didn't realize we were discussing distributed transactions with external brokers/banks.
- KptMarchewa 6y agoBanking is integrations with literally hundreds different external systems.
- whack 6y agoShorting a banking company because they chose to use MongoDB... you can tell that an engineer wrote this comment. You're missing the forest for one particular tree.
- isatty 6y agoEh it sounds snarky but not a bad idea because the downtime seems inevitable when using MongoDB. I'm not informed enough to know if it'll affect the share price for a bank but if a tech company did onboard mongo that'd be a major red flag for me.
- deleted 6y ago[deleted]
- reitanqild 6y agoYep, also we always remember the markets can stay irrational longer than we can stay solvent or something to that effect.
- mushi 6y agoWhy expected down time for dB that has built in replication? I would expect downtime from RDBMSS and most banks have scheduled downtime nearly every weekend they say when I log in.
- bdcravens 6y agoI agree, though decisions made is isolation can give some peeks into company culture. After all, forests often have many of the same kinds of trees.
- DonHopkins 6y agoAnd some forests have a few carefully arranged trees of a different type. https://en.wikipedia.org/wiki/Forest_swastika https://en.wikipedia.org/wiki/Forest_swastika
- joaomacp 6y ago
- Thaxll 6y agoThere are Jepsen report and people that know how to read them right? Fortnite runs on MongoDB thay have 130M players worlwide and do $B a year without issues using it, so you think it was a mistake for them?
- teej 6y ago“X uses Y therefore Y is good” in general is a terrible argument. But also, Fortnite is a game. It’s for fun. 99% of their read/write throughput is in the context of a match, and matches are ephemeral.
- sdinsn 6y ago> “X uses Y therefore Y is good” in general is a terrible argument Which is not his argument. His argument is "X uses Y, and X doesn't have problems with Y, so Y is good enough for X at least". Which is a completely valid thing to say.
- joncrane 6y agoHave you ever heard of Muddy Waters? The famous stock shorter?
- mathattack 6y agoBased on the headline I thought the same. And just wait until the shady audit and renewal practices begin. In reality the total cost may be small for a bank that big. But messing even one trade or large account can cost them billions.
- oneplane 6y agoWhile that is true, shoving that logic in to the database itself tends to indicate an anti pattern in the software that uses the database. It used to be lots of fun and highly optimal to write all sorts of procedures and triggers because it was the only fast and reliable way to do things, especially when your in-database-code was essential the only gatekeeper against a multiple owner database schema. The idea that you have one database schema that you are going to share with different applications seems bonkers to me at this point in time. Compute and storage resources are far cheaper than development, DBA and potential stagnation that a schema that doesn't have a single owner brings.
- sdinsn 6y agoAnd the question you should ask is, does HSBC actually need to preserve snapshot isolation when set at the highest consistency level? If the answer is no, then your comment is irrelevant.
- john_ghandi 6y agoor you could just use postgres to corrupt your data. latest jepsen analysis http://jepsen.io/analyses/postgresql-12.3 http://jepsen.io/analyses/postgresql-12.3