11 ms·
JunoDB: PayPal’s Key-Value Store Goes Open-Source
- infaloda 3y agoYCSB benchmarks?
- rektide 3y agohttps://github.com/paypal/junodb https://github.com/paypal/junodb
- vssadvt 3y agoDid anyone try this new key value data store ?
- colesantiago 3y agoHow does JunoDB compare to Redis?
- tyingq 3y agoIt says it stores things on disk, rather than in memory.
- arthurcolle 3y agoRedis has persistence since a while now
- tyingq 3y agoYes, though, I imagine it's not at all the primary use case. Knowing they have different primary use cases seems relevant.
- arthurcolle 3y agoRedis persistence I would imagine is certainly a primary use case these days, but I can appreciate that perhaps this is not the case.
- danpalmer 3y agoRedis essentially can’t store more data than what fits in RAM. While it has persistence options, they’re for durability and backup, not to increase the storage available. JunoDB appears to store data primarily on disk, and limits storage by disk size, but then caches in memory as necessary perhaps. Quite different in behaviour and trade offs to Redis.
- arthurcolle 3y agoThanks the the info!
- joelrwilliams1 3y agoWonder how does it compare to DynamoDB
- Alifatisk 3y agoI really wonder how it compares to DragonflyDB
- dvhh 3y agoThis looks very interesting, and is yet another demonstration of how amazing os rocksdb
- gregwebs 3y ago> JunoDB is unmatched when it comes to meeting PayPal’s extreme scale, security, and availability needs. It would be nice to see some benchmarks or just a mention of any kind of number. TiKV is a CNCF donated project with roughly the same architecture and has been deployed in larger clusters than 200 nodes.
- cyanydeez 3y agoThat sounds like ad copy written by a lawyer.
- greaylist 3y ago[dead]
- flagrant_taco 3y agoAt least they didn't include a claim that it's 10,000x faster than the competition
- itsTyrion 3y agodid someone do that? /srs
- deleted 3y ago[deleted]
- quazar 3y agoWatch out, it will call the cops on you if one of the keys is "ALEP".
- tough 3y agoor tardigrade
- omginternets 3y agoCan I be let in on the joke?
- seized 3y agoSomeone whose account got banned because the invoice they issued via PayPal had "ALEP" in the license key contained within. Aleppo is the banned word.
- vxNsr 3y agoWhy is Aleppo banned?
- seized 3y agoAleppo, Syria. To block people sending money to terrorists (not stating that they are).
- arp242 3y agoSyria is a nation under heavy sanctions; "Alep" is the old name for Aleppo, apparently still in use. Governments around the word demand financial institutions prevent fraud, funding to terrorist organisations, money laundering, etc. and can give heavy fines if they don't do enough, so you end up with this kind of stuff, for better or worse. I had a friend that worked for ISIS: Innovative Solutions In Space. They had a lot of problems with all sorts of financial institutions once that other ISIS started becoming better known. They've since rebranded to ISISPACE for that reason.
- negermeister 3y ago[flagged]
- anonylizard 3y agoIts open sourced because. 1. Internally, its a legacy tech that's slowing people down and costing $$$ to maintain. 2. Its not something that'll give any competitor a leg up. Given its a completely saturated market even 10 years ago. 3. Hence, open source it, in the hopes someone will improve/maintain it for free
- negermeister 3y ago[flagged]
- tentacleuno 3y agoRe: 1, how do you know this? Or are you basing this off an assumption?
- AdieuToLogic 3y agoIt would be interesting to see how this compares to FoundationDB[0]. 0 - https://www.foundationdb.org/ https://www.foundationdb.org/
- dcl 3y agoI've only ever used SQL and relational databases. What are the use cases of Key-value stores? What's the canonical example of where they are a clearly the right solution?
- huntertwo 3y agoNo schema validation so you get faster writes, generally allows for easier scaling
- ok_dad 3y agoCaching
- jerf 3y agoIn a nutshell, you trade in the various guarantees relational databases provide, like transactions, relational integrity, and high levels of queryability for higher performance on what a key/value store can do, simplicity of API, and some things that can be easier for the system to provide precisely because it is offering fewer guarantees. Particularly distribution... SQL is hard to distribute precisely because of the guarantees it offers. When to use it? You must be sure you have a case where the additional guarantees relationship databases provide are not necessary, and you either need the simplicity of usage or deployment. Or in rare cases, speed, but whereas most people seem to act as if this the main reason, I consider it a relatively poor reason. A relational DB with its guarantees turned off (i.e., no relations, no transactions, tables with just a key and a value) perform fairly closely to a key/value store for a wide range of scaling needs. There is a top end where this matters, but fewer programmers need this than think they need this. Still, it is a valid concern, and if you don't need relational guarantees it may let you scale down the instance size. Most of the cases I see where key/value stores are a good choice relate more to the simplicity than performance. I love me my Postgres, but nothing compares to the simplicity of just tossing up a Memcache somewhere and solving my problem, if that's what my problem calls for. No schema, no migrations, an API so simple my local programming language may well simply integrate it with my native associative array syntax... if you are careful to use it only where you aren't going to need relational functionality the bang for the buck can be very nice.
- _9hey 3y agoHow does it compare to kansas though?
- tln 3y agoDo you have a link for that?
- jmartrican 3y agoKansas is a state in the United States of America. While DBs and caching systems do operate in Kansas, the state of Kansas itself cannot easily be utilized as a key value store. Mainly because Kansas is not software but a piece of land with people and government. While it is reasonable to assume that the people and government of Kansas can create a key value store, it would require a law change to consider said software to be officially recognized as being part of Kansas.
- Alifatisk 3y agoHaven't laughed this much in a while
- lopkeny12ko 3y ago> While JunoDB is not considered a Permanent SoR (System of Record), we do use JunoDB for a limited set of long term (multi-year) SoR needs. I'd be very interested in learning why JunoDB isn't used as a SoR (or why PayPal doesn't consider it suitable for SoR).
- bitwidget 3y agoPossibly cost? Offloading unused data to long term cold storage is cheaper than storing on JunoDB and never using it.
- ShadowBanThis01 3y ago[flagged]
- harikb 3y agoSeems to be based on RocksDB. But I wonder if the persistence it is like Redis's persistence (where the persistence is just snapshot/txn-log style) > JunoDB storage server instances accept operation requests from proxy and store data in memory or persistent storage using RocksDB. Each storage server instance is responsible for a set of shards, ensuring smooth and efficient data storage and management.
- jensenbox 3y agoI would imagine that this project was a Not Invented Here sort of thing when Redis was presented as an option. Total conjecture on my part.
- parhamn 3y agoAh yes, redis, the first distributed KV store that wasn't NIH.
- bradhe 3y agoRight and don’t you understand that Redis has the availability guarantees, scaling constraints, and memory architecture for all use cases?! Why would you ever need a different KV store when you have Redis!
- PlutoIsAPlanet 3y ago> Why would you ever need a different KV store when you have Redis! If you want to have tier based storage, where you trade off latency for increased data size, meaning disk space is your limit and not your RAM.
- bradhe 3y agoI was being sarcastic.
- pgt 3y agoEverything in Redis has to fit in RAM.
- bradhe 3y agoMy statement was sarcastic.
- avinassh 3y agoIs Redis safe? I make a SET request and before the data is written to disk, if Redis crashes, my data is gone for good, right? edit: Redis supports fsync at every query in AOF mode https://redis.io/docs/management/persistence/#ok-so-what-should-i-use https://redis.io/docs/management/persistence/#ok-so-what-sho...
- deleted 3y ago[deleted]
- voytec 3y agoCurious why they decided to blog about tech on Medium and not under own domain, like they do[1] for corporate posts. [1] https://newsroom.paypal-corp.com/ https://newsroom.paypal-corp.com/
- dangoodmanUT 3y agoI think FoundationDB could meet the "extreme scale, security, and availability needs" of PayPal, I'd bet Apple's is more extreme, and they've shown ~500 core clusters doing well into the millions of ops/s
- tentacleuno 3y agoI really wish they gave examples of code using JunoDB in the article, just to give the reader a rough idea of how talking to it works.
- Alifatisk 3y agohttps://github.com/paypal/junodb/blob/main/docs/junodb_arch_overview.md https://github.com/paypal/junodb/blob/main/docs/junodb_arch_...
- avinassh 3y agoThe description says: > JunoDB is PayPal's home-grown secure, consistent and highly available key-value store providing low, single digit millisecond, latency at any scale. what do they mean by 'consistent' here?
- web3-is-a-scam 3y agoHow does this compare to redis?
- deleted 3y ago[deleted]
- ShadowBanThis01 3y ago[flagged]