[{"data":1,"prerenderedAt":384},["ShallowReactive",2],{"project-36590834":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":45,"post_text":46,"what":47,"said":89,"maker_in_thread":156,"shape":165,"grid":170,"attempts":347,"same_week":348,"maker_shows":40,"maker_hidden":377,"reader_version":378,"card":379},"36590834","FerretDB","MongoDB Protocol for SQLite","title","Show HN: MongoDB Protocol for SQLite","https:\u002F\u002Fgithub.com\u002FFerretDB\u002FFerretDB","github.com","aleksi",1688495711,2023,147,68,424,3109,14,"notable","data","database protocol compatibility layer","other",[24,25,26,27,28],"mongodb","sqlite","mongodb protocol","document database","postgresql","mixed",0.17,{"positive":32,"neutral":33,"mixed":34,"critical":35},11,9,0,3,23,{"idea":38,"docs":41,"performance":42,"execution":43},{"positive":39,"critical":40},5,1,{"positive":34,"critical":34},{"positive":34,"critical":34},{"positive":40,"critical":44},2,[34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,39,35,39,39,34,34,34,34,34,34,34,34,39,39,35,35,39,35,35,34,34,35,40,40,39],null,{"problem":48,"audience":46,"pricing":46,"motivation":59,"time_to_build":46,"stack":64,"openness":86,"stage":87,"team_size":88},{"value":49,"source":50,"evidence":51},"Lets apps using MongoDB run on SQL-based storage such as SQLite or PostgreSQL","inferred",[52,56],{"id":53,"by":54,"text":55},"36591961","peterfarkas","Yes this is one of the reasons we started FerretDB. Atlas is very easy to use, but it is nearly impossible to move away from later on, as there is no alternative (unless you are…",{"id":57,"by":11,"text":58},"36592441","Some time ago, we wrote a blog post about it: https:\u002F\u002Fblog.ferretdb.io\u002Fpjson-how-to-store-bson-in-jsonb\u002F A few details changed after that (for example, type information is not…",{"value":60,"source":61,"evidence":62},"Escape Atlas lock-in and get MongoDB-style features on Postgres or SQLite","commenter",[63],{"id":53,"by":54,"text":55},[65,72,78],{"value":66,"source":67,"evidence":68},"Go","maker",[69],{"id":70,"by":11,"text":71},"36592460","FerretDB is written in Go, can be used as a Go library, and you could call it from C via CGo… But I would not do that :)",{"value":73,"source":67,"evidence":74},"SQLite (transpiled to Go)",[75],{"id":76,"by":11,"text":77},"36593101","FWIW, we use a version of SQLite transpiled into Go to avoid CGo problems: https:\u002F\u002Fgitlab.com\u002Fcznic\u002Fsqlite",{"value":79,"source":61,"evidence":80},"PostgreSQL",[81,85],{"id":82,"by":83,"text":84},"36591409","winrid","If this implemented sharding it'd be killer. I recognize that'd be a huge amount of work, but that would be amazing! I may do that someday. You could just use one PG instance as…",{"id":53,"by":54,"text":55},"open_source","beta","team",{"praise":90,"objections":102,"requests":110,"questions":126,"alternatives":134},[91,95],{"value":92,"source":61,"evidence":93},"Good idea to bring sharding-like scaling via Postgres",[94],{"id":82,"by":83,"text":84},{"value":96,"source":61,"evidence":97},"SQLite backend is a great addition",[98],{"id":99,"by":100,"text":101},"36595366","maxpert","Great addition of SQLite backend. I would however love prebuilt binaries for Mac, that way I can test it with Marmot (https:\u002F\u002Fgithub.com\u002Fmaxpert\u002Fmarmot sorry for shameless plug).…",[103],{"value":104,"source":61,"evidence":105},"Written in Go rather than C is a concern for some",[106],{"id":107,"by":108,"text":109},"36592311","jhatemyjob","Man this is exactly what I need at a high level but not writing this in C is a complete show-stopper. All that Docker effluvium adds insult to injury. Sad!",[111,115,119],{"value":112,"source":61,"evidence":113},"Prebuilt binaries for Mac",[114],{"id":99,"by":100,"text":101},{"value":116,"source":61,"evidence":117},"Sharding support",[118],{"id":82,"by":83,"text":84},{"value":120,"source":61,"evidence":121},"Benchmarks against MongoDB",[122],{"id":123,"by":124,"text":125},"36598043","magic_hamster","It would be interesting to see some benchmarks, especially comparing the same queries between Mongo and Ferret. Also, while the readme does say it's meant to be a drop in…",[127],{"value":128,"source":61,"evidence":129},"Is the native document schema documented for SQL querying?",[130],{"id":131,"by":132,"text":133},"36592281","Mertax","Is there any documentation on the native schema used to store the documents. Is it sane enough that you could manually roll your own JSON1 queries in SQL to facilitate more…",[135,142,149],{"value":136,"source":61,"evidence":137},"MongoDB",[138],{"id":139,"by":140,"text":141},"36592893","Thaxll","\"However, as time passed, MongoDB abandoned its open-source roots; changing the license to SSPL - making it unusable for many open source and early-stage commercial projects.\"…",{"value":143,"source":61,"evidence":144},"CouchDB",[145],{"id":146,"by":147,"text":148},"36594759","yawnxyz","Honest question: why doesn't Couchdb receive any love on HN? It's such a perfect tool for my side projects and most projects that will never reach Twitter scale",{"value":150,"source":61,"evidence":151},"MySQL Document Store",[152],{"id":153,"by":154,"text":155},"36593966","adobrawy","Great project! I find it intriguing to note a comparable approach by MySQL, where it functions as a NoSQL database, specifically a document database, owing to its adoption of a…",{"comments":39,"answered":44,"key":157},[158,161,162],{"id":159,"text":160},"36595410","Right, we are going to add support for it.",{"id":57,"text":58},{"id":163,"text":164},"36592742","Not yet, but let us turn off fsync…",{"commenters":166,"max_depth":167,"maker_replies":39,"first_comment_mins":168,"lifespan_hours":169},39,7,44,108,[171,173,177,180,182,185,187,189,192,194,197,200,202,204,206,210,214,216,219,222,225,228,230,233,237,239,242,245,248,250,251,254,257,259,260,263,265,268,271,274,276,279,282,284,286,288,291,296,298,300,302,304,306,308,311,313,316,319,320,324,327,328,331,334,336,338,340,343],[139,34,34,172,140,34],"other\u002Fneutral\u002Fidea",[174,34,34,175,176,34],"36593019","commenter\u002Fneutral\u002Fnone","jcstryker",[178,34,34,175,179,34],"36593225","pnpnp",[181,34,34,175,54,34],"36593358",[183,34,34,175,184,34],"36609547","cyanydeez",[186,34,34,175,179,34],"36652241",[188,34,34,175,179,34],"36652224",[190,34,34,175,191,34],"36594566","paulddraper",[193,34,34,172,54,34],"36593207",[195,34,34,175,196,34],"36595051","ocdtrekkie",[198,34,34,175,199,34],"36595863","mike_d",[201,34,34,175,196,34],"36596226",[203,34,34,175,199,34],"36605248",[205,34,34,175,196,34],"36606376",[207,34,34,208,209,34],"36593272","other\u002Fneutral\u002Fpricing","cj",[211,34,34,212,213,34],"36594508","other\u002Fneutral\u002Fnone","meghan_rain",[215,34,34,212,209,34],"36594587",[217,34,34,212,218,34],"36609285","tough",[220,34,34,172,221,34],"36596920","pritambaral",[223,34,34,175,224,34],"36598231","jkaplowitz",[226,34,34,172,227,34],"36597452","glogla",[229,34,34,172,54,34],"36598426",[231,34,34,172,232,34],"36599955","anonzzzies",[234,34,40,235,236,34],"36603623","project\u002Fcritical\u002Fidea","PeterZaitsev",[82,40,39,238,83,34],"project\u002Fpositive\u002Fidea",[240,40,39,241,54,34],"36591635","maker\u002Fpositive\u002Fnone",[243,40,39,238,244,34],"36591727","throwaway888abc",[246,40,35,247,54,34],"36592140","maker\u002Fneutral\u002Fnone",[249,40,39,238,83,34],"36591804",[53,40,39,238,54,34],[252,40,39,253,83,34],"36593174","project\u002Fpositive\u002Fnone",[255,40,39,238,256,34],"36594473","_nub3",[159,40,34,258,11,40],"maker\u002Fneutral\u002Fperformance",[146,44,34,212,147,34],[261,44,34,212,262,34],"36594812","killingtime74",[264,44,34,212,147,34],"36594909",[266,44,34,212,267,34],"36606167","gwbas1c",[269,44,34,212,270,34],"36594962","pokstad",[272,44,34,212,273,34],"36595144","treis",[275,44,34,212,147,34],"36595327",[277,44,34,212,278,34],"36595509","jinjin2",[280,44,34,212,281,34],"36596073","jamil7",[283,44,34,212,267,34],"36595157",[285,44,34,212,147,34],"36595324",[287,44,34,212,267,34],"36600342",[289,35,39,253,290,34],"36594233","rajamaka",[292,293,35,294,295,34],"36593949",4,"project\u002Fneutral\u002Fnone","vamega",[297,293,39,241,54,34],"36596036",[299,293,35,247,295,34],"36599233",[131,39,35,301,132,34],"project\u002Fneutral\u002Fdocs",[57,39,34,303,11,40],"maker\u002Fpositive\u002Fdocs",[99,305,35,294,100,34],6,[307,305,39,241,54,34],"36596059",[309,167,35,294,310,34],"36594067","ctippett",[312,167,34,212,295,34],"36599238",[123,314,35,315,124,34],8,"project\u002Fneutral\u002Fperformance",[317,314,35,294,318,34],"36598347","xet7",[153,33,34,212,154,34],[321,322,34,212,323,34],"36591718",10,"Scarbutt",[325,322,34,212,326,34],"36592670","Eumenes",[163,322,34,175,11,40],[329,32,35,330,236,34],"36603651","project\u002Fneutral\u002Fidea",[107,332,40,333,108,34],12,"project\u002Fcritical\u002Fexecution",[70,332,34,335,11,40],"commenter\u002Fneutral\u002Fexecution",[337,332,40,333,108,34],"36593045",[76,332,34,339,11,40],"maker\u002Fneutral\u002Fexecution",[341,332,39,342,83,34],"36593192","project\u002Fpositive\u002Fexecution",[344,332,34,345,346,34],"36605658","commenter\u002Fcritical\u002Fexecution","mst",[],[349,354,359,364,369,373],{"id":350,"name":351,"points":352,"category":353},"36605493","Hacker News user blogroll",937,"consumer_social",{"id":355,"name":356,"points":357,"category":358},"36582468","Degrees What",171,"dev_tools",{"id":360,"name":361,"points":362,"category":363},"36591767","varun.ca",159,"creative",{"id":365,"name":366,"points":367,"category":368},"36520410","Windmill knowledge base Discord bot",144,"ai",{"id":370,"name":371,"points":372,"category":368},"36564923","Project S.A.T.U.R.D.A.Y.",121,{"id":374,"name":375,"points":376,"category":358},"36543398","Tabserve.dev",117,false,"v2",{"id":380,"name":5,"line":6,"ai":377,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":381,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":382,"url":9,"mix":383,"praise":92,"objection":104,"sub":21},36590834,[24,25,26,27,28],"0000000000000035355000000005533533003115",[32,33,34,35],1794036637936]