7 ms·
What Is New About NewSQL?
- nikato 8y agoI’m sorry but I stopped reading after: > Correctness and consistency were the two important metrics, rather than today’s metrics of performance and availability. Not sure if his author has ever worked on an actual real world commercial system.
- xkcd-sucks 8y ago> Correctness and consistency were the two important metrics, rather than today’s metrics of performance and availability. Sounds exactly like what the businessy people say to me. I've just learned to stop responding honestly.
- nikato 8y agoHaha yeah. In my experience running top internet sites, honestly if you don’t have consistency you probably have a very unskilled engineering team, or you don’t need availability either because your company is irrelevant. A good question for someone who doesn’t think consistency is important is: If you have 200 different records that should all be the same but are different due to lack of consistency, which one of those records do you believe? Usually met by blank stares.
- nlarew 8y agoWhat you describe sounds like more of a data modeling/integrity concern than a data consistency concern. A better example of a data consistency requirement is a SINGLE record that should be the same when 200 different users read it at the same time, e.g. the current price of a stock. I'd prefer that a user not be able to see a stock's price at all rather than show them the wrong price. Contrast this with a record that does not need to be the same for all users at the same time, such as a list of users that liked a blog post. Given the choice, I'd prefer that my post is available for anyone that wants to read it rather than sacrificing availability to ensure that the list of users that liked the post is totally up-to-date.
- wolco 8y agoYou order by date or id and recalculate or take the oldest and invalidate the others
- deleted 8y ago[deleted]
- throwaway2016a 8y ago> Haha yeah. In my experience running top internet sites, honestly if you don’t have consistency you probably have a very unskilled engineering team, or you don’t need availability either because your company is irrelevant. So Twitter and Facebook must have horrible teams. Both of those if you update your profile it may take minutes (and certainly seconds) until everyone has a copy. When running a site at large scale consistency becomes a business concern. Is it really important to my business that if someone loads a profile 10 seconds after they changed their avatar it is still the old version? The answer is probably "no" and if it is, you can scale a lot larger and on cheaper hardware than if you answer "yes" Hardly any NoSQL database offer consistency or if they do they have eventual consistency as a default. Because for most applications it doesn't matter. Take a blog as another example... if two people hit the homepage the moment after a new article is published does it really matter if one of them still gets the old article? Edit: To try to be helpful... > A good question for someone who doesn’t think consistency is important is: If you have 200 different records that should all be the same but are different due to lack of consistency, which one of those records do you believe? Usually met by blank stares. This is not even remotely what lack of consistency means in the context of distributed systems. In the context of distributed systems they are talking about transactional consistency. I.e. if you hit two servers they each return the same result at that exact moment in time. No one is arguing that the two servers are permanently inconsistent such as in your example just that they are momentarily inconsistent since in a distributed system the cost of consistency is extremely high.
- perl4ever 8y ago"in a distributed system the cost of consistency is extremely high" I feel like this might be related to the reason why the universe was designed with a top speed.
- pintxo 8y agoIsn‘t the cost extremly high, because there is a top speed? If data could be moved instantaneously from a to b, then consistency should be easier to achieve
- tracker1 8y ago> In my experience running top internet sites ... Must not include trying to distribute live feed data to millions of simultaneous users. You get to a point where reads and/or writes are beyond what a single computer can handle... this is where an SQL server breaks down. This is where you start to make certain trade-offs in design in order to handle certain kinds of load. Ex: facebook, twitter, medium, etc. Where showing the exact current record isn't so bad as showing nothing at all or forcing a lock and waiting.
- kjeetgill 8y agoIt's not the best wording but I'm sure the author is contrasting it with the previous generation of Nosqls such as Mongodb, Cassandra, and dynomo-style KV stores. Even ignoring much of the buggy pre-history of some of these projects. They were all built with eventual consistency in mind to hit perf/availability goals.