Readit News logoReadit News
leshokunin · a year ago
For context, Raph Koster is not only the person who designed Ultima Online, but generally considered one of the top theoricians in game design. This isnt some guy who has a small blog and came up with a neat explanation for how some word came about in the early days of the web. Its the guy who did it.
runevault · a year ago
Raph's practical creativity talk is still one of my favorite I've watched from GDC.

https://www.youtube.com/watch?v=zyVTxGpEO30&pp=ygUPcmFwaCBrb...

tgtweak · a year ago
I find it incredibly hard to believe that ultima online was the first application of database sharding, but it may very well be the source of the name. "key-based partitioning" doesn't have the same ring to it, but has existed since the early 90's and possibly late 80's.
strken · a year ago
The article contains the literal quote "It means database partitioning — of worlds." I don't think it is claiming that UO invented partitioning.
prepend · a year ago
The technique has existed forever. I think UO called is sharding and the name stuck from them.
nilsherzig · a year ago
I can't seem to find it right now, but I read an article, shared in the "awesome-scalability" GitHub repo, which referenced a 1978 paper, written by a couple of IBM researchers, about sharding and a lot of seemingly modern database things.
gregw2 · a year ago
Agreed. I have worked at a Fortune 100 firm where its business ran (still runs) off of an ERP sharded into 100 instances, each representing one key facility since the mid-90s. It took extra work in the early days to centralize analytics and manage deployments and data, but it has been very resilient (low blast radius in today's terminology) and natural for low risk deployments, rolling out of upgrades to one site, then the rest in batches.

Deleted Comment

nemo44x · a year ago
Key-based partitioning has existed since card catalogs at libraries and I’m sure there’s examples from before then.
pchristensen · a year ago
I'll put in a plug for his book Theory of Fun for Game Design (https://www.amazon.com/Theory-Game-Design-Raph-Koster/dp/144...). It's a great read that's accessible but also deep and thorough.

Deleted Comment

scott_s · a year ago
Potentially. I was also skeptical of this four years ago, and said as much on here (https://news.ycombinator.com/item?id=22972538).

However, I then dug into it a bit. From my digging 4 years ago (https://news.ycombinator.com/item?id=23460200):

> I spent some time crawling through the proceedings of Very Large Databases (VLDB) and the ACM Digital Library, and I could find no instances of "shard" used to mean the partitioning of a database prior to 2001. (That paper is "Minerva: An automated resource provisioning tool for large-scale storage systems" in Transactions on Computer Systems, free-to-read at https://dl.acm.org/doi/abs/10.1145/502912.502915.)

> Other the other hand, I found many papers citing the SHARD paper - more than the official count. That's a difficulty with citation counts of old papers: a lot of the papers citing it are also old papers, and we're not consistent at tracking the citations of old papers. Personally, I don't have a conclusion. The SHARD paper is decently cited, and its usage is close to the modern one. On the other hand, I can't find any smoking gun pre-1997 usage of "shard" in the modern meaning.

I started my digging thinking I would quickly find a paper using "shard" in the modern database context that predated Ultima Online. I could not find it, so now I think it's plausible.

dhosek · a year ago
I loved the casual comment that Flickr came out of a failed MMO (worth noting that the same team had another failed MMO that ended up spawning Slack!)
selectodude · a year ago
You gotta feel for a guy who just really wants to make an awesome MMO but keeps fucking up and making shit like Flickr and Slack.
andirk · a year ago
And maybe the opposite where the do-everything dream app of Twitter will eventually become an MMO.
MichaelZuo · a year ago
A lot of innovations came from MMOs, so it shouldn’t be that surprising. Especially the big ones push the cutting edge in a way that no other applications do.
jjice · a year ago
One MMO tech I always got a kick out of was WoW using Bit Torrent for updates at a time when it was massive and that bandwidth would have been brutal to output.
mrsilencedogood · a year ago
"serve [seemingly] <50ms latency N:N coordination between thousands of clients, sometimes who are all literally in the same place (events, cities etc) expecting to observe their and other users actions ~immediately"

This still sounds like a really hard problem, I can't imagine trying to do it 20 years ago. (WoW turns 20 in Nov, and it wasn't the first, though perhaps the first to reach such supercilious scale?)

throwup238 · a year ago
I think the Gamma Database Machine Project [1] demonstrated the technique in 1990, though it predates the word “shard.”

[1] https://pages.cs.wisc.edu/~dewitt/includes/paralleldb/ieee90...

Suppafly · a year ago
Interesting, I had always assumed shard came from a specific company's technology and never gave it much thought. Kinda like how we talk about blade servers because of ibm's marketing.
hedora · a year ago
Not sure about the word shard, but the 1401 used sharded storage in 1959:

https://en.m.wikipedia.org/wiki/IBM_1401

That was the best seller in history, at the time, but there are mechanical computers that played similar tricks going back to the early days of punch cards.

The Hollerith Tabulator won a competition in 1888.

https://www.census.gov/history/www/innovations/technology/th...

Anyway, yahoo probably sharded by the mid to late 1990s.

scott_s · a year ago
Yes, the technique is obviously predated by Ultima Online. The question we're trying to answer is specifically about the etymology of sharding in the database context.
mindcrime · a year ago
dang · a year ago
Thanks! Macroexpanded:

Database “sharding” came from Ultima Online? - https://news.ycombinator.com/item?id=35479553 - April 2023 (89 comments)

Database “sharding” came from Ultima Online? (2009) - https://news.ycombinator.com/item?id=34694397 - Feb 2023 (1 comment)

Database “sharding” came from Ultima Online? (2009) - https://news.ycombinator.com/item?id=23438399 - June 2020 (172 comments)

Database “sharding” came from Ultima Online? (2009) - https://news.ycombinator.com/item?id=17926566 - Sept 2018 (1 comment)

Database “sharding” came from Ultima Online? (2009) - https://news.ycombinator.com/item?id=16343939 - Feb 2018 (1 comment)

Did the term 'sharding' start with Ultima Online? - https://news.ycombinator.com/item?id=425765 - Jan 2009 (3 comments)

As for https://news.ycombinator.com/item?id=36848605 - I've added it to https://news.ycombinator.com/highlights. Thanks!

mysterydip · a year ago
Dan, is there a way to automatically add related older discussions to the top of a new item, in a similar way to submitting the same URL within a certain time will take you to the existing discussion rather than create a new one?
dools · a year ago
I have never played modern Ultima. I played a very early version on the Mac SE when I was about 6 and I didn’t understand anything that was going on. I just rode around aimlessly. The one thing I remember is that the menu had a “negate time” option and when I selected it a message came up that said “you don’t have two coins to rub together”.

So I just rode around not knowing what was going on but hoping to find two coins so I could rub them together and negate time.

tgtweak · a year ago
Ultima Online in the age of dialup and early DSL was a history-altering game for MMO's. I still log on to UO Forever servers every once in a while (a modified game server with accelerated skill learning) to level up a character and scrabble together enough gold to build and furnish a house. It was such a vast game and the sheet depth of it for a game of that time was unprecedented. I still think to this day it is one of the best "just go do what you want to do" MMOs out there, something that New World didn't even get right 20 years after with considerably more resources and advances behind it.

Runescape is the only other game from that era (and which shares a lot of gameplay similarities) that has that much staying power.

lnxg33k1 · a year ago
For me, the best part of UO was the ability to extend it, for me OSI was never pleasant to play on, but I was on an unofficial shard with Dragonlance saga background and it was the best time of my life, I don't think any other MMO could've been so extendible to fully implement that saga at those level of details
crawfishphase · a year ago
since Ultima deals with time travel, I accept your "history altering" claim. Long live Lord British! (RG has been to the deepest sea and the space station, so who can say he doesnt also have a time machine. He is a real adventurer who made Ultima- one of the best adventure rpg lines ever)
night862 · a year ago
Ultima Online is a very unique social experience compared to today's landscape of multiplayer games, and there are different "Eras" of the game which can impart a particular flavor to the experience, eras like: UO: Renassaince, UO: Lost Lands (aka T2A mechanics), and others.

Its a sandbox game just like Arcage, Neverwinter Nights, Albion Online, Everquest, Star Wars Galaxy, Eve Online, Black Desert Online, etc in which the game's goals tacitly produce a local society, typically from players' in-game avatar "Characters" just playing the game. PvP is emphasized on many of the servers.

Right now there is a very good UO Freeshard server called "UO Outlands" with hybrid rules that are quite satisfying and with updated maps/dungeons/landscapes designed to encourage the classic vibes you've heard about and aren't really available in other, modern games.

If you just want to take a look, there is a Youtuber named "Trammie", he prefers to play a pure-thief character and he semi-regularly records streams of live play. Its a good look at one high-level play style that is nearly unique to UO and still available.

hooby · a year ago
Raph Koster is also currently working on a new game, that aims to take this ideas of social experience and player-driven virtual society and push it beyond what they were able to do with UO. (Also with less PK-ing, griefing, etc. - things he regretted about UO, but many people today consider synonymous with sandbox)

Interestingly enough, this new game is NOT going to have any shards or sharding at all - not even instancing - but just many (procedurally generated) planets, that are all part of the same shared universe and economy.

Thus, some of the very unique ambitions behind UO and SWG might actually become part of a new, more modern game:

https://starsreach.com/ (Fair warning: the graphics are still very early...)

ratlrrr · a year ago
Trammie Surprise, as he was formerly known, also runs the SQZD clan, who are often spotted in the wilds and around their homes, PvPing, thieving, and whatnot. They're one portal for easing into the local communities in Outlands.

Easing into the mechanics, minutiae, and overall obscurity of the game is a different beast entirely, but a lot of things in there, while worn out over time, have a handworn feel like none other, which itch just the right niche.

Al-Khwarizmi · a year ago
You played Ultima II (1982). It had a "negate time" command to stop time for enemies in combat, but it used "strange coins". I think it only used one, the "two coins to rub together" was just a figure of speech.

Reading the manual would probably have helped but being 6, I understand how you didn't (or maybe didn't even have access to it). I had similar experiences with other games when I was a similar age :)

dools · a year ago
Haha yeah I don't think there was a manual. I'm pretty sure it was pirated on a floppy disk or something with a label written in biro in my step father's desk.

It wasn't until much later (maybe mid-teens) that I saw/heard the expression "not having two coins to rub together" as being used as a euphamism for being poor and it clicked into place.

tunnuz · a year ago
I played Renaissance and the following one on unofficial servers for about 6 years between 2003 and 2010. My offline and online friends would easily play 6-8 hours per day, and when we were offline we were talking about it. It was like a second life and an incredible escape, but looking back at it we were all addicted to it pretty badly. I get flashbacks and cravings to this day.
crawfishphase · a year ago
sometimes I dream I am in the game, and its pretty awesome to taste the food and smell the air
da-holland · a year ago
semi-related, but also helps me to believe that this is the case (and not only because the different regional servers were called "shards" in Ultima Online):

in the "Game Coding Complete, Fourth Edition" book by two programmers who worked on Ultima and Sims (and other Origin/EA games of the time) back in the day, they share some war stories of programming, and if memory serves there is a portion where they talk about the original design, and the realization that lead to the sharding and how the login and shard system worked in the game.

Also, unrelated, a really neat war story about a guy who put in debug code to generate certain audio cues while a game was running to catch a bug.

The book all in all was a fun read if only for all these stories, and generally remember good coding guidelines as well but it is using older C++ that may not stand up to modern critique.

[0]: https://www.amazon.com/dp/1133776574

other_herbert · a year ago
Ha re: audio cues for debugging… your pc speaker is truly an underused tool when debugging something infrequent… for example our system processes a lot of xml data and usually it’s fine but for our test suite hearing beeps and knowing there are server side issues immediately is a great thing
da-holland · a year ago
Absolutely!

I ended up digging the book out and finding the passage; hopefully it's ok to share because it's an amazing story and helps illustrate what makes that book so great to me:

"The best caveman debugging solution I ever saw was one that used the PC speaker. Herman was a programmer who worked on Ultima V through Ultima IX, and one of his talents was perfect pitch. He could tell you the difference between a B and a B flat and get it right every time. He used this to his advantage when he was searching for the nastiest crasher bugs of them all - they didn't even allow the debugger window to pop up. He wrote a special checker program that output specific tones through the PC speaker and peppered the code with these checks. If you walked into his office while his spiced-up version of the game was running, it sounded a little like raw modem noise, until the game crashed. Because the PC speaker wasn't dependent on the CPU, it would remain emitting the tone of his last check. "Hmm...that's a D," he would say, and zero in on the line of code that caused the crash."

- Game Coding Complete, Fourth Edition

malkia · a year ago
heh, like the Malloc Geiger Counter - https://news.ycombinator.com/item?id=24303832

Gamedev people came up with creative devices, like using pedal to debug-break into the game.

CamperBob2 · a year ago
Real programmers just hold an AM radio next to the motherboard.

At guru level, of course, you no longer need the radio.

runevault · a year ago
I bought a copy of Game Coding Complete a long time ago, but couldn't remember which edition and your comment made me curious. Turns out I have the first edition from 2003.

Old gamedev books really have some wild stuff.

WaitWaitWha · a year ago
Hmmm... I vaguely recall the term "shards" when referring to DB/2 running on S36, S38, and later newfangled AS/400 across the world. When presenting the data in a single pane, some "shards" would come in late, or be broken, and require reconnecting.
brandall10 · a year ago
The wikipedia entry for this confirms two sources depending on context, and in your case it came from a late 80s paper:

Sarin, DeWitt & Rosenberg, Overview of SHARD: A System for Highly Available Replicated Data, Technical Report CCA-88-01, Computer Corporation of America, May 1988

https://en.wikipedia.org/wiki/Shard_(database_architecture)#...

BoiledCabbage · a year ago
From a quick search right now, the term seems to have come from that same system, but the first reference appears to be older than 1988. It looks to be possibly 1985.

Following this link here: https://shkspr.mobi/blog/2021/06/where-is-the-original-overv...

In a comment at the bottom it references a paper published by a few people working jointly with Computer Corporation of America, MIT & Boston University.

If you view that referenced paper "Correctness Conditions for Highly Available Databases" by N. Lynch, B. Blaustein & M. Siegel (https://apps.dtic.mil/sti/pdfs/ADA171427.pdf), and look at section 1.2 it clearly describes "SHARD: (System for Highly Available Replicated Data)" as being underdevelopment at CCA. It also says if you want to learn more about Shard, see the paper's reference [SBK]. Checking out the references section of that paper it lists the following for [SBK]:

Sarin, S. K., Blaustein, B. T., and Kaufman, C. W., "System Architecture for Partition Tolerant Distributed Databases," IEEE Transactions on Computers C-34, 12 (December 1985). pp. 1158-1163.

Which means there was a paper published in 1985, describing the in development Shard system.

It is possible that in 1985 they hadn't yet named the system "Shard", and it only got that name by 1988 - but it'd be interesting to check out that 1985 paper and see if they used the term Shard at all.

codethief · a year ago
I seem to remember a conversation here on HN not too long ago where people tried to reconstruct the history behind "sharding" and, in particular, tried to find that 1980s paper you mentioned – without success. I believe they even contacted one of the authors.
scott_s · a year ago
I found that paper title as well when looking into this exact question. That paper does not have the number of citations I would expect if it is the source of the term. It's possibly the source, but it's not obviously the source.
crawfishphase · a year ago
I worked with db2 people back in 98 and they talked about shards. They worked down in some cave in the basement that smelled like folgers coffee, feet, and camel filter bbq sauce. I would offer them a roll of TP each and every time they said the word. Their office chairs had seat-cushions that looked like they were pulled out of a dumpster fire, worn out and melty looking. With all the red meat, nicotine, and caffeine, Im assuming someone sharded there at least once. Maybe that is what got those seat cushions all worn out.
samstave · a year ago
AS one of the early big players of UO (In that it consumed an entire wall of machines in the Intel Game 'DRG' Lab in the late 90s - Shards came from UO.

And the concept as described in how he brought it from the Sosarian Lore is laser etched into my head, because along the same fantastical lines we also have the infamous The Dark Crystal - and so having that be a strong element in the SciFi-Fantasy DNA of anyone of my generation into gaming, sci-fi etc - it was completely grokked immediately and understood.

UO is one of the golden eras of my gaming DNA.

benreesman · a year ago
I had the pleasure and privilege of working briefly with some guys who worked on Ultima Online, real OGs.

Let me cut through the hype: they’re better than you think. Real legends.

I was early in the distributed database game, these guys were earlier.

Legends.

mentos · a year ago
If there are any anecdotes you can share I'd love to hear before they get lost to time.