[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"project-27657164":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":39,"post_text":42,"what":43,"said":67,"maker_in_thread":132,"shape":140,"grid":144,"attempts":181,"same_week":195,"maker_shows":225,"maker_hidden":226,"reader_version":227,"card":228},"27657164","Whirlog","Minimal versioned log structured relational DB in Common Lisp","title","Show HN: Minimal versioned log structured relational DB in Common Lisp","https:\u002F\u002Fgithub.com\u002Fcodr7\u002Fwhirlog","github.com","codr7",1624843739,2021,110,15,482,2533,20,"notable","data","embedded database","library",[24,25,26,27],"common lisp database","log structured database","versioned database","relational database lisp","curious",0.111,{"positive":31,"neutral":32,"mixed":33,"critical":33},1,7,0,8,{"design":36,"idea":37,"docs":38},{"positive":33,"critical":33},{"positive":31,"critical":33},{"positive":33,"critical":33},[40,33,33,40,33,33,33,40,40,40,40,41,40,33,33],3,5,null,{"problem":44,"audience":42,"pricing":42,"motivation":51,"time_to_build":42,"stack":55,"openness":66,"stage":66,"team_size":66},{"value":45,"source":46,"evidence":47},"Traditional databases are complex and integrate poorly; versioning changes over time is tricky to implement at the application level","maker",[48],{"id":49,"by":11,"text":50},"27666403","Author here: Whirlog is a minimal versioned log structured relational DB implemented in Common Lisp. It's a design I've been playing around with in several languages to solve my…",{"value":52,"source":46,"evidence":53},"Solve issues with complexity and poor integration in traditional databases; enjoys versioning",[54],{"id":49,"by":11,"text":50},[56,60],{"value":57,"source":46,"evidence":58},"Common Lisp",[59],{"id":49,"by":11,"text":50},{"value":61,"source":46,"evidence":62},"Lisp s-expressions as on-disk format",[63],{"id":64,"by":11,"text":65},"27672955","Didn't know that about PostgreSQL, thanks. I'm aiming to be as ACID as makes sense for a project this scale, it's slowly getting there. The disk format is straight Lisp, I want…","unknown",{"praise":68,"objections":84,"requests":96,"questions":101,"alternatives":120},[69,77],{"value":70,"source":71,"evidence":72},"Useful and fun side project","commenter",[73],{"id":74,"by":75,"text":76},"27672940","captaincaveman","Looks like a useful and fun side project, just wish I had time to play with it!",{"value":78,"source":71,"evidence":79},"Interesting approach to log-structured design",[80],{"id":81,"by":82,"text":83},"27670682","curtisf","Yes, \"log structured\" basically means \"append only (mostly)\" Traditionally on-disk data-structures are modified in-place. But random writes keep disks busy (especially spinning…",[85,92],{"value":86,"source":71,"evidence":87},"Single file per database\u002Ftable layout may be limiting for large data",[88],{"id":89,"by":90,"text":91},"27669966","mulander","Cool project. Have you known that PostgreSQL was initially written in Lisp? > By a process of elimination, we decided to try writing POSTGRES in LISP. We expected that it would…",{"value":93,"source":71,"evidence":94},"Unclear whether it is truly ACID or versioned via copy-on-write",[95],{"id":89,"by":90,"text":91},[97],{"value":98,"source":71,"evidence":99},"Explain relational part and query capabilities",[100],{"id":89,"by":90,"text":91},[102,109,116],{"value":103,"source":71,"evidence":104},"What does log structured mean",[105],{"id":106,"by":107,"text":108},"27670132","yosamino","I'm having trouble understanding the term \"log structured\". Wikipedia has an entry for it, but that seems to describe a very specific mathematical theory that flies right above…",{"value":110,"source":71,"evidence":111},"Is it inspired by persistent data structures",[112],{"id":113,"by":114,"text":115},"27670556","User23","Is this inspired by what Chris Okasaki calls persistent data structures in his marvelous little book?",{"value":117,"source":71,"evidence":118},"Is it ACID compliant",[119],{"id":89,"by":90,"text":91},[121,125],{"value":122,"source":71,"evidence":123},"PostgreSQL",[124],{"id":89,"by":90,"text":91},{"value":126,"source":71,"evidence":127},"Datomic",[128],{"id":129,"by":130,"text":131},"27679034","george_ciobanu","Check out Datomic",{"comments":133,"answered":40,"key":134},4,[135,136,137],{"id":64,"text":65},{"id":49,"text":50},{"id":138,"text":139},"27672961","Sorry, no. I bought the book at one point during my Haskell years but found it too dry for my taste at the time.",{"commenters":141,"max_depth":133,"maker_replies":133,"first_comment_mins":142,"lifespan_hours":143},12,252,40,[145,147,148,150,152,154,156,160,163,167,170,171,172,176,178],[89,33,40,146,90,33],"maker\u002Fneutral\u002Fdesign",[64,33,33,146,11,31],[49,31,33,149,11,31],"project\u002Fpositive\u002Fidea",[113,31,40,151,114,33],"maker\u002Fneutral\u002Fidea",[138,31,33,153,11,31],"maker\u002Fneutral\u002Fnone",[129,31,33,155,130,33],"other\u002Fneutral\u002Fnone",[157,31,33,158,159,33],"27673749","other\u002Fneutral\u002Fidea","zelphirkalt",[106,161,40,162,107,33],2,"project\u002Fneutral\u002Fdocs",[164,161,40,165,166,33],"27670624","project\u002Fneutral\u002Fidea","sedachv",[168,161,40,165,169,33],"27670666","nerdponx",[81,161,40,165,82,33],[74,40,41,149,75,33],[173,133,40,174,175,33],"27658750","project\u002Fneutral\u002Fnone","neolog",[177,133,33,153,11,31],"27659039",[179,41,33,155,180,33],"27658481","dang",[182,185,188,191,194],{"id":183,"t":184,"points":31,"comments":33},"26352595",1614917571,{"id":186,"t":187,"points":161,"comments":33},"26381171",1615163735,{"id":189,"t":190,"points":161,"comments":33},"27528338",1623850406,{"id":192,"t":193,"points":40,"comments":33},"27565557",1624145720,{"id":4,"t":12,"points":14,"comments":15},[196,201,206,211,216,221],{"id":197,"name":198,"points":199,"category":200},"27614874","3dasd",248,"hardware",{"id":202,"name":203,"points":204,"category":205},"27642977","I’m an introvert",169,"productivity",{"id":207,"name":208,"points":209,"category":210},"27689664","Git history visualization",147,"dev_tools",{"id":212,"name":213,"points":214,"category":215},"27662266","21st Night",123,"learning_science",{"id":217,"name":218,"points":219,"category":220},"27662114","Optery",111,"security_privacy",{"id":222,"name":223,"points":224,"category":205},"27664020","The Sample",67,11,false,"v2",{"id":229,"name":5,"line":6,"ai":226,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":230,"top":18,"kw":231,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":232,"url":9,"mix":233,"praise":70,"objection":86,"sub":21},27657164,0.11,[24,25,26,27],"300300033335300",[31,32,33,33],1794036608463]