[HN Gopher] The history of Berkeley DB ___________________________________________________________________ The history of Berkeley DB Author : yarapavan Score : 76 points Date : 2021-11-20 17:36 UTC (5 hours ago) (HTM) web link (queue.acm.org) (TXT) w3m dump (queue.acm.org) | tbrock wrote: | I would have given almost anything to be there and work on this | with them or sleepycat's successor wired tiger. | | So much fun to implement this stuff and see it provide so much | value. | dboreham wrote: | It was the best of times. | dalke wrote: | "after I quit a miserable job" | | I was there. He was my boss. It was miserable. | junon wrote: | Because of him? Or because of the job? | dalke wrote: | The job was miserable. He was VP of engineering. He, I, the | VP of marketing and I think someone else left within the same | week because things weren't working out. (It was only a 50 | person company.) | | The company got bought out, mostly as acqui-hire for the | scientific staff. | | The main tech was by a Stanford prof. and one of his ex-grad | students. An X-Windows/IRIX-only(!) based tool for molecular | modeling. It added support for integrating bioinformatics | analyses, gathered from public web servers. Which was cool, | but companies wouldn't buy it because sending proprietary | data to public sites as a big N-O. | | Many companies had similar resources in-house. The program | could call out to awk or shell as a configuration language | for doing those searches. But our customers were all | switching to Perl and didn't care for those languages. So, | late in the cycle we added Perl integration support. | | There was only one person who could really work on the core | tool. (I remember fixing ~10,000 compiler warnings, nearly | all because it used a home-brew GUI based on void* function | pointers.) There had been a push to port it to the Mac, but | that took a year and the fork was unmergeable. | | We developed an intranet server product for basic | bioinformatics tools in perl that would mirror the core | bioinformatics databases, process them for FASTA, BLAST, and | text searches. Mind you, this was 1998, so CGI.pm and a home- | brew templating language I threw together. | | We needed this because we were ramping up science consulting | (I don't recall why any more), and needed our own internal | tools because proprietary data. | | So, Mike came in as VP of engineering, with a product that | was hard to maintain, nor could it quite pivot to the new | hotness of bioinformatics, nor pivot to the new hotness of | the web. (Get this: there was a proof-of-concept version that | used a persistent version of the tool running on the | developer's desktop, in an off-screen display buffer, which | presented a clickable image map to the user. Each click would | round-trip another screen shot to the running program.) And | without the ability to really hire the people to get out of | that hole, because funding was running out. | | On the organization level, there was also then-new CEO, who | sales and marketing referred to as a tornado, because she | would come in and everything would get blown around and mixed | up. Not a good boat to be in. | | This was also Mike's first VP-level management job, so rather | like jumping into the deep end. | | Mind you, I was a fresh-behind-the-ears 27 year old, with | only 2 years of professional experience in an academic lab. I | know little about what the politics was with upper- | management. I can agree that it was miserable. | | Going back to Sleepycat, I actually evaluated BDB vs GDB vs. | a few other technologies for one of our projects, and ended | up having problems with all of them. Only after I left, when | I met Mike after he started with Sleepycat, did I point out | that I he probably should have told me about his connections | with BDB. He agreed. ;) | hbarka wrote: | Wow thanks for sharing that | 0xdky wrote: | I used BDB as a Win32 profiler backend. The profiler was | lightweight and would write a flat file with profiling data and | function addresses to keep the captured data small. | | A post processing tool would read the profiler data and create a | BDB file with support for extracting call graphs and topN sort of | analysis. | | The final GUI was implemented in Visual Basic since other | developers would not use the TUI/CLI based tools in console. | | The next project used BDB to store file system metadata on | embedded NAS storage. We implemented a fast 'find' like service | based on file metadata (stat fields) stored in BDB with support | for user defined file metadata. | bch wrote: | Oh goodness - I'm just getting Bostics Sleepycat -> WiredTiger | play now. Well done Keith. | buserror wrote: | I've used Berkeley DB for decades, in many projects, many time | having to have a yelling match with other people who wanted to | use one of the large spaghetti plate "database".. this was before | the "noSQL" trend, and even after. How many projects /need/ | network access etc, in a LOT of cases you just want a file | backed, very quick library and that does the job. | | For more complicated setups, sqlite also works wonder. | kstrauser wrote: | BDB is brilliant. SQLite is my go-to now for new projects as | it's nearly as good as BDB in most ways, and much better the | second you need rich queries. | ozgune wrote: | > Chris eventually went to Amazon and brought Berkeley DB with | him there, so we became one of the first backing stores for | Amazon's Dynamo key-value store. | | BDB was impressive in that you'd file a bug with them & they | would have a patch for you by the next day. If you did the same | thing with Oracle, stars would have to align even to get an ack. | | I think that's because they kept BDB pretty simple. I happened to | sit in a meeting with Margo Seltzer where the (later | distinguished) engineer from Amazon was asking for new features. | I think Margo must have said no to every feature request because | it didn't align with their roadmap. I've never seen anyone do | that. It was impressive to watch. | | Then again, Oracle acquired Sleepycat in the end. | zealsham wrote: | Berkeley DB is such an important piece of software today . Its | one if the essential parts of bitcoin ___________________________________________________________________ (page generated 2021-11-20 23:00 UTC)