[{"data":1,"prerenderedAt":286},["ShallowReactive",2],{"project-9375767":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":41,"post_text":43,"what":44,"said":76,"maker_in_thread":157,"shape":164,"grid":168,"attempts":246,"same_week":247,"maker_shows":35,"maker_hidden":278,"reader_version":279,"card":280},"9375767","java-dirty","A fast append-only data store for Java 8","title","Show HN: A fast append-only data store for Java 8","http:\u002F\u002Fprobablyfine.co.uk\u002F2015\u002F04\u002F11\u002Fannouncing-java-dirty\u002F","probablyfine.co.uk","probablyfine",1429031885,2015,74,31,359,2565,14,"notable","data","append-only data store","library",[24,25,26,27,28],"java","append-only store","event store","memory mapped file","java 8","curious",0.198,{"positive":32,"neutral":33,"mixed":34,"critical":35},4,10,0,1,15,{"execution":38,"idea":39},{"positive":35,"critical":34},{"positive":40,"critical":35},3,[42,34,40,34,34,40,40,40,40,34,40,40,40,34,34,35,42,40,34,42,40,34,34,34,34,34,34,34,34,34,42],5,null,{"problem":45,"audience":52,"pricing":43,"motivation":64,"time_to_build":43,"stack":68,"openness":74,"stage":75,"team_size":75},{"value":46,"source":47,"evidence":48},"Lightweight append-only storage for POJOs without much setup.","maker",[49],{"id":50,"by":11,"text":51},"9377354","I've used it as the backing for a time-series database and to store deltas for a state-machine - in both situations I wanted something that understood \"POJOs\" and didn't require…",{"value":53,"source":54,"evidence":55},"Java developers, especially on pet projects.","commenter",[56,60],{"id":57,"by":58,"text":59},"9376259","MrBuddyCasino","> frequently find myself wanting a light append-only data store for pet projects As someone who is mystified by that statement: why?",{"id":61,"by":62,"text":63},"9376152","knd775","This actually seems pretty useful. I'll be sure to check it out for my next Java project.",{"value":65,"source":47,"evidence":66},"Wanted a light append-only store for pet projects and a time-series backing store.",[67],{"id":50,"by":11,"text":51},[69],{"value":70,"source":47,"evidence":71},"Java 8",[72],{"id":73},"post","open_source","unknown",{"praise":77,"objections":93,"requests":104,"questions":116,"alternatives":125},[78,85],{"value":79,"source":54,"evidence":80},"Clean idiomatic Java 8 source code.",[81],{"id":82,"by":83,"text":84},"9376893","sgt","An example of good idiomatic Java 8 source code. Example: https:\u002F\u002Fgithub.com\u002Fmrwilson\u002Fjava-dirty\u002Fblob\u002Fmaster\u002Fsrc\u002Fmain\u002Fjava\u002Fuk\u002Fco\u002Fprobablyfine\u002Fdirty\u002FStore.java",{"value":86,"source":54,"evidence":87},"Useful lightweight option for Java projects, MIT licensed.",[88,92],{"id":89,"by":90,"text":91},"9376721","jerven","Really nice, I am just needing this ;) Super that it is MIT licensed as well. I was halfway on building something on top of XZ SeekableInput Streams but this is probably a lot…",{"id":61,"by":62,"text":63},[94,100],{"value":95,"source":47,"evidence":96},"Failure semantics and large-file behaviour untested.",[97],{"id":98,"by":11,"text":99},"9377321","Hi, glad you like it. 1. Under the hood it partitions the log into sections to avoid Java's MappedByteBuffer size-limit. I've not tried to deliberately push the file-size limit…",{"value":101,"source":47,"evidence":102},"Does not support primitive arrays yet.",[103],{"id":98,"by":11,"text":99},[105,112],{"value":106,"source":54,"evidence":107},"Support for byte arrays and primitive arrays.",[108],{"id":109,"by":110,"text":111},"9377040","hello_there","Great. I've been wanting something like this for a while. I've got a few questions: 1. How large files are supported? 2. It says that it will only persist primitive fields on…",{"value":113,"source":47,"evidence":114},"Benchmarks of file size limits and failure behaviour.",[115],{"id":98,"by":11,"text":99},[117,121],{"value":118,"source":54,"evidence":119},"How large files are supported.",[120],{"id":109,"by":110,"text":111},{"value":122,"source":54,"evidence":123},"What happens on power failure during a write.",[124],{"id":109,"by":110,"text":111},[126,133,140,150],{"value":127,"source":54,"evidence":128},"Chronicle Queue",[129],{"id":130,"by":131,"text":132},"9376174","nicksellen","How would you compare and contrast this with http:\u002F\u002Fopenhft.net\u002Fproducts\u002Fchronicle-queue\u002F? (which I knows does a bunch more but seems like it could be used for this purpose too).",{"value":134,"source":54,"evidence":135},"Apache BookKeeper",[136],{"id":137,"by":138,"text":139},"9376312","batbomb","There's Apache BookKeeper to fill some of those needs.",{"value":141,"source":54,"evidence":142},"H2 MVStore",[143,147],{"id":144,"by":145,"text":146},"9376623","jkot","+ For chronicle Have look at my profile. Also there is KVEngine from H2.",{"id":148,"by":145,"text":149},"9379501","yes",{"value":151,"source":54,"evidence":152},"Kafka",[153],{"id":154,"by":155,"text":156},"9376750","eropple","I've never seen BookKeeper in production. Where would you recommend its use over something like Kafka?",{"comments":40,"answered":40,"key":158},[159,162,163],{"id":160,"text":161},"9377531","No, that's likely a leftover from refactoring. Good spot.",{"id":50,"text":51},{"id":98,"text":99},{"commenters":165,"max_depth":166,"maker_replies":40,"first_comment_mins":167,"lifespan_hours":15},23,6,48,[169,171,175,179,181,184,187,189,192,194,198,202,203,206,207,208,212,216,219,220,221,223,227,230,233,235,237,239,240,243,244],[82,34,42,170,83,34],"project\u002Fpositive\u002Fexecution",[172,34,34,173,174,34],"9377408","other\u002Fneutral\u002Fnone","agibsonccc",[176,34,40,177,178,34],"9377521","project\u002Fneutral\u002Fexecution","famousactress",[160,34,34,180,11,35],"maker\u002Fneutral\u002Fexecution",[182,34,34,183,178,34],"9377583","commenter\u002Fneutral\u002Fnone",[185,34,40,177,186,34],"9377984","tlrobinson",[188,34,40,177,83,34],"9379290",[190,34,40,177,191,34],"9379420","cedrickthecrow",[130,35,40,193,131,34],"project\u002Fneutral\u002Fidea",[195,35,34,196,197,34],"9377034","commenter\u002Fneutral\u002Fidea","faizshah",[199,200,40,193,201,34],"9378094",2,"apo",[57,40,40,193,58,34],[204,40,40,193,205,34],"9376297","dyladan",[137,40,34,173,138,34],[154,40,34,173,155,34],[209,40,35,210,211,34],"9377140","project\u002Fcritical\u002Fidea","lomnakkus",[213,40,42,214,215,34],"9376325","project\u002Fpositive\u002Fidea","wtetzner",[217,40,40,193,218,34],"9376411","rakoo",[50,40,34,214,11,35],[89,32,42,214,90,34],[109,42,40,222,110,34],"project\u002Fneutral\u002Fnone",[224,42,34,225,226,34],"9377133","commenter\u002Fcritical\u002Fnone","javajosh",[228,42,34,183,229,34],"9377155","mrits",[231,42,34,183,232,34],"9378320","dang",[234,42,34,183,229,34],"9384857",[236,42,34,183,232,34],"9385016",[98,42,34,238,11,35],"maker\u002Fpositive\u002Fnone",[144,166,34,173,145,34],[241,166,34,242,131,34],"9377601","other\u002Fneutral\u002Fdocs",[148,166,34,173,145,34],[61,245,42,214,62,34],7,[],[248,253,258,263,268,273],{"id":249,"name":250,"points":251,"category":252},"9348193","Where is “Who is hiring?” hiring?",493,"productivity",{"id":254,"name":255,"points":256,"category":257},"9372918","Niltalk",169,"consumer_social",{"id":259,"name":260,"points":261,"category":262},"9354873","CSS to render Markdown as unrendered Markdown",161,"languages",{"id":264,"name":265,"points":266,"category":267},"9351286","botwillacceptanything",155,"ai",{"id":269,"name":270,"points":271,"category":272},"9366549","TypeSlab",138,"creative",{"id":274,"name":275,"points":276,"category":277},"9348497","Laundromatch",72,"web_saas",false,"v2",{"id":281,"name":5,"line":6,"ai":278,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":282,"top":18,"kw":283,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":284,"url":9,"mix":285,"praise":79,"objection":95,"sub":21},9375767,0.2,[24,25,26,27,28],"5030033330333001530530000000005",[32,33,34,35],1794036530388]