[{"data":1,"prerenderedAt":357},["ShallowReactive",2],{"project-13738051":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":43,"post_text":45,"what":46,"said":90,"maker_in_thread":207,"shape":218,"grid":222,"attempts":320,"same_week":321,"maker_shows":44,"maker_hidden":349,"reader_version":350,"card":351},"13738051","PumpkinDB","An event sourcing database engine","title","Show HN: PumpkinDB, an event sourcing database engine","http:\u002F\u002Fpumpkindb.org","pumpkindb.org","yrashk",1488126968,2017,190,48,180,2242,9,"notable","data","database engine","library",[24,25,26,27,28],"event sourcing","immutable database","key value store","btree","lmdb","curious",0.179,{"positive":32,"neutral":33,"mixed":34,"critical":35},8,13,0,4,25,{"idea":38,"docs":40,"performance":42},{"positive":35,"critical":39},1,{"positive":39,"critical":41},3,{"positive":34,"critical":34},[34,41,34,39,34,41,34,41,34,39,34,44,34,34,44,41,34,34,34,34,34,41,34,44,44,41,34,41,34,44,34,41,41,41,39,34,34,44,41,44],5,null,{"problem":47,"audience":45,"pricing":45,"motivation":57,"time_to_build":45,"stack":64,"openness":87,"stage":88,"team_size":89},{"value":48,"source":49,"evidence":50},"Provides low-level primitives for building event-sourced, journalled databases.","maker",[51,54],{"id":52,"by":11,"text":53},"13738723","We are definitely looking to improve the documentation. This is 0.1, after all. This project was started as a backend for a lazy event sourcing approach…",{"id":55,"by":11,"text":56},"13738777","It was built as a kind of a database constructor for event sourced \u002F journalled systems. It's design inspiration is largely stemming from MUMPS which provided a great (\"oddly…",{"value":58,"source":49,"evidence":59},"Backend for a lazy event sourcing approach; inspired by MUMPS.",[60,61],{"id":52,"by":11,"text":53},{"id":62,"by":11,"text":63},"13738522","Some of the layering in terms of basic building blocks and higher level languages will become a standard part of PumpkinDB. For the rest, yes, it's expected that end applications…",[65,77],{"value":66,"source":67,"evidence":68},"Rust","commenter",[69,73],{"id":70,"by":71,"text":72},"13739235","playing_colours","Written in Rust :) Inspiring, I am learning Rust now to try implementing HDFS-like storage.",{"id":74,"by":75,"text":76},"13740010","digitalzombie","Holy cow it's in Rust. I'm doing a thesis in Classification Trees, doing R and hoping to do the backend of the R package in Rust (it looking to be C++). I'll look through the…",{"value":78,"source":67,"evidence":79},"LMDB",[80,84],{"id":81,"by":82,"text":83},"13742727","elcritch","Documentation says they use LMDB for the backend. Looking over the documentation, it looks like you could readily use pumpkin be directly to implement the database\u002Fdatacaching…",{"id":85,"by":11,"text":86},"13739170","Well, that would have been true if we had no PumpkinScript. Then it would have been just a tiny wrapper around LMDB that we are using as a storage backend, indeed.","open_source","prototype","unknown",{"praise":91,"objections":113,"requests":151,"questions":167,"alternatives":187},[92,102],{"value":93,"source":67,"evidence":94},"Interesting design, low-level immutable DB engine as building block",[95,99],{"id":96,"by":97,"text":98},"13740537","vtuulos","I am a big fan of this approach: Low-level, high-performance, immutable-by-default database engine as a building block, with bindings to multiple languages for easy application…",{"id":100,"by":82,"text":101},"13742769","Amazing looking project! I've been daydreaming about using LMDB's memory mapping to provide a flexible low level db primitive for quite a while, figuring a combo of erlang like…",{"value":103,"source":67,"evidence":104},"Commit message style is interesting",[105,109],{"id":106,"by":107,"text":108},"13739635","simonw","I like how every commit message is formatted as a problem and a solution: https:\u002F\u002Fgithub.com\u002FPumpkinDB\u002FPumpkinDB\u002Fcommits\u002Fmaster",{"id":110,"by":111,"text":112},"13739568","JoelSanchez","What an interesting commit message format.",[114,129,133,140],{"value":115,"source":67,"evidence":116},"Documentation is unclear about what it is and how to use it",[117,121,125],{"id":118,"by":119,"text":120},"13738417","dozzie","From what I see in the published documentation, it's way too early to make it \"show HN\". If I didn't know what event sourcing is, I couldn't make heads or tails of your daemon,…",{"id":122,"by":123,"text":124},"13738681","ams6110","Thanks. I read the entire \"Documentation\" page and still didn't feel confident that I understood what this really was. \"Event sourcing\" to me implies that it's generating events.",{"id":126,"by":127,"text":128},"13738704","ziikutv","Well, its a fancy word. Thats basically what I took away from it. Also, I agree, read the whole doc and took way longer to understand what it does. Clearly, they are smart, but…",{"value":130,"source":67,"evidence":131},"Too early for Show HN",[132],{"id":118,"by":119,"text":120},{"value":134,"source":67,"evidence":135},"Unclear use case and advantages",[136],{"id":137,"by":138,"text":139},"13738747","nik736","What's an actual use-case for this? I am reading the documentation but still don't see why I should use it and what the actual advantages compared to current solutions are.",{"value":141,"source":67,"evidence":142},"Disk space cost of never overwriting data; need for data removal",[143,147],{"id":144,"by":145,"text":146},"13740027","fiatjaf","I don't get this whole \"never overwrite data\" thing, including Datomic, for example. Isn't the disk space needed for these schemes enormous?",{"id":148,"by":149,"text":150},"13747003","solidsnack9000","I have reservations, too: it's important to be able to remove data even though disk is cheap. * Removing very old data is a reasonable hedge for user privacy. * Sometimes…",[152,160],{"value":153,"source":67,"evidence":154},"Better documentation and usage examples",[155,156],{"id":126,"by":127,"text":128},{"id":157,"by":158,"text":159},"13738990","makmanalp","Very interesting! I think one thing that this would benefit from is a lot of usage examples, especially around pumpkinscript. I was reading recently about MUMPS and Caché and…",{"value":161,"source":67,"evidence":162},"Support for Akka persistence",[163],{"id":164,"by":165,"text":166},"13742610","stonewhite","Looks very interesting. I'd love to use it once it supports Akka persistence. Is this on the roadmap?",[168,183],{"value":169,"source":67,"evidence":170},"How does it compare to FoundationDB, Datomic or Berkeley DB?",[171,175,179],{"id":172,"by":173,"text":174},"13738345","mindcrash","So basically something similar to FoundationDB?",{"id":176,"by":177,"text":178},"13739107","mtdewcmu","It seems to serve approximately the same purpose as Berkeley DB.",{"id":180,"by":181,"text":182},"13739131","mattdeboard","This sounds like my (probably wrong\u002Fincomplete) understanding of Datomic?",{"value":184,"source":67,"evidence":185},"Storage layout and range query support",[186],{"id":157,"by":158,"text":159},[188,192,196,200],{"value":189,"source":67,"evidence":190},"FoundationDB",[191],{"id":172,"by":173,"text":174},{"value":193,"source":67,"evidence":194},"Datomic",[195],{"id":180,"by":181,"text":182},{"value":197,"source":67,"evidence":198},"Berkeley DB",[199],{"id":176,"by":177,"text":178},{"value":201,"source":67,"evidence":202},"Kafka and Samza",[203],{"id":204,"by":205,"text":206},"13739282","cestith","Where would I use this in place of, say, Kafka and Samza?",{"comments":33,"answered":35,"key":208},[209,212,215],{"id":210,"text":211},"13738056","It's a lower-level \"database engine\" that allows you to build different types of higher level databases based on a very simple foundation: 1) BTree-based K\u002FV engine (which gives…",{"id":213,"text":214},"13738384","To a certain degree, yes",{"id":216,"text":217},"13738461","What to Submit Show HN is for something you've made that other people can play with. HN users can try it out, give you feedback, and ask questions in the thread.",{"commenters":219,"max_depth":220,"maker_replies":33,"first_comment_mins":39,"lifespan_hours":221},30,6,255,[223,225,226,227,229,231,234,237,238,241,244,245,246,249,252,254,255,257,260,261,264,266,269,272,274,277,278,279,280,282,286,289,292,294,296,297,298,299,302,304,307,310,312,314,315,316,318,319],[210,34,34,224,11,39],"project\u002Fneutral\u002Fidea",[172,34,41,224,173,34],[213,34,34,224,11,39],[118,34,39,228,119,34],"project\u002Fcritical\u002Fdocs",[216,34,34,230,11,39],"commenter\u002Fneutral\u002Fnone",[232,34,34,230,233,34],"13738469","Normal_gaussian",[235,34,41,224,236,34],"13738502","lobster_johnson",[62,34,34,224,11,39],[239,34,41,240,149,34],"13741735","project\u002Fneutral\u002Fnone",[242,34,34,243,11,39],"13741781","other\u002Fneutral\u002Fnone",[122,34,39,228,123,34],[126,34,39,228,127,34],[247,34,34,248,11,39],"13738740","project\u002Fneutral\u002Fdocs",[250,34,44,251,127,34],"13827653","project\u002Fpositive\u002Fdocs",[253,34,34,248,11,39],"13738746",[52,34,34,224,11,39],[100,34,44,256,82,34],"project\u002Fpositive\u002Fidea",[258,34,34,259,158,34],"13738928","other\u002Fneutral\u002Fidea",[180,34,41,224,181,34],[262,34,34,259,263,34],"13739159","grzm",[265,34,34,243,181,34],"13743959",[267,34,34,259,268,34],"13739405","gritzko",[270,34,34,243,271,34],"13741105","Groxx",[273,34,34,243,149,34],"13741726",[275,34,34,243,276,34],"13742203","anarazel",[176,34,41,224,177,34],[85,34,34,224,11,39],[96,34,44,256,97,34],[106,39,44,281,107,34],"project\u002Fpositive\u002Fnone",[283,39,44,284,285,34],"13740593","maker\u002Fpositive\u002Fnone","DTrejo",[287,39,41,240,288,34],"13740743","jdiez17",[290,39,34,291,11,39],"13740988","maker\u002Fneutral\u002Fnone",[157,293,41,248,158,34],2,[295,293,34,248,11,39],"13739028",[70,41,44,281,71,34],[137,35,41,224,138,34],[55,35,34,224,11,39],[300,35,41,224,301,34],"13739120","tyingq",[144,44,41,303,145,34],"project\u002Fneutral\u002Fperformance",[305,44,41,303,306,34],"13740958","christophilus",[308,44,34,259,309,34],"13745215","Salgat",[148,44,39,311,149,34],"project\u002Fcritical\u002Fidea",[313,44,34,224,11,39],"13747360",[74,220,34,243,75,34],[81,220,44,256,82,34],[204,317,41,224,205,34],7,[164,32,44,256,165,34],[110,18,41,240,111,34],[],[322,327,331,335,340,345],{"id":323,"name":324,"points":325,"category":326},"13763469","Gutenberg",305,"dev_tools",{"id":328,"name":329,"points":330,"category":20},"13729301","PDFLayoutTextStripper",283,{"id":332,"name":333,"points":334,"category":326},"13762077","BootShellCredentialProvider",264,{"id":336,"name":337,"points":338,"category":339},"13762032","Lumix Engine",260,"games",{"id":341,"name":342,"points":343,"category":344},"13724118","Hasura",259,"infrastructure",{"id":346,"name":347,"points":348,"category":326},"13764060","fman",178,false,"v2",{"id":352,"name":5,"line":6,"ai":349,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":353,"top":18,"kw":354,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":355,"url":9,"mix":356,"praise":93,"objection":115,"sub":21},13738051,0.18,[24,25,26,27,28],"0301030301050053000003055303050333100535",[32,33,34,35],1794036553005]