[{"data":1,"prerenderedAt":279},["ShallowReactive",2],{"project-8423825":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":35,"aspects":36,"strip":43,"post_text":45,"what":46,"said":74,"maker_in_thread":139,"shape":141,"grid":145,"attempts":242,"same_week":243,"maker_shows":33,"maker_hidden":271,"reader_version":272,"card":273},"8423825","postgres_vectorization_test","Speeding up PostgreSQL through vectorized execution","title","Show HN: Speeding up PostgreSQL through vectorized execution","https:\u002F\u002Fgithub.com\u002Fcitusdata\u002Fpostgres_vectorization_test","github.com","canguler",1412713809,2014,332,36,39,2272,2,"legend","data","database extension","library",[24,25,26,27],"postgresql","vectorized execution","columnar store","cstore_fdw","mixed",0.333,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,9,1,3,21,{"performance":37,"idea":39,"docs":40,"execution":41,"design":42},{"positive":34,"critical":38},0,{"positive":33,"critical":18},{"positive":38,"critical":33},{"positive":34,"critical":38},{"positive":38,"critical":38},[44,34,34,33,34,34,38,38,38,38,34,33,34,44,44,38,38,34,34,38,38,44,34,38,38,38,34,33,44,38,38,44,44,44,38,38],5,null,{"problem":47,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":59,"openness":72,"stage":72,"team_size":73},{"value":48,"source":49,"evidence":50},"Slow query execution for analytical aggregates over column-store data in PostgreSQL","inferred",[51,55],{"id":52,"by":53,"text":54},"8427270","adamtj","I'm not sure that I understand the big picture here. Is my summary correct? This optimization does not apply to Postgres in general, but only to citrus_fdw and other column-store…",{"id":56,"by":57,"text":58},"8428262","ozgune","(Ozgun from Citus Data here.) I updated the Readme, and added a second link to the original vectorization paper. We found that most benefits came from simply switching to…",[60,65],{"value":61,"source":62,"evidence":63},"PostgreSQL","commenter",[64],{"id":52,"by":53,"text":54},{"value":66,"source":62,"evidence":67},"cstore_fdw (Citus)",[68],{"id":69,"by":70,"text":71},"8425728","yangyang","If you read through it, this is a change to the Citus cstore_fdw extension, which stores data outside PostgreSQL and queries it using the PostgreSQL Foreign Data Wrapper API (see…","unknown","company",{"praise":75,"objections":91,"requests":109,"questions":121,"alternatives":126},[76],{"value":77,"source":62,"evidence":78},"Impressive performance gains and well-written article",[79,83,87],{"id":80,"by":81,"text":82},"8425202","Rapzid","@OP: A really good read and performance find. I wouldn't have expected those kinds of gains, but I wouldn't have considered the impact on CPU optimization. The improvements are…",{"id":84,"by":85,"text":86},"8424054","ceyhunkazel","Well done Can! keep up your work.",{"id":88,"by":89,"text":90},"8426029","DrJokepu","Are you kidding? Articles like this are my favourite posts on HN. I would love to see more technical content like this and less softcore chit-chat.",[92,99],{"value":93,"source":62,"evidence":94},"Only applies to cstore_fdw, not core PostgreSQL",[95,96],{"id":69,"by":70,"text":71},{"id":97,"by":70,"text":98},"8426203","I can't imagine this would ever get into core Postgres. It's a very specific extension.",{"value":100,"source":62,"evidence":101},"Based on existing VectorWise ideas, not original and insufficiently credited",[102,106],{"id":103,"by":104,"text":105},"8427913","alecco","Yes. Also, buried inside is the reference of the original work by VectorWise this work was based on. \"Vectorization vs. Compilation in Query Execution\". They don't even mention…",{"id":107,"by":104,"text":108},"8427894","They implemented ideas from a VectorWise paper. It's very good for an intern, but it's not original work.",[110],{"value":111,"source":62,"evidence":112},"Bring the optimization into PostgreSQL core",[113,117],{"id":114,"by":115,"text":116},"8426704","lee","So what's the likelihood that we'll see this optimization make it into PostgreSQL core? That would be an amazing performance improvement.",{"id":118,"by":119,"text":120},"8426071","clemsen","Great article. I am not a real programmer (but regular user of Postgres for scientific data storage) and do not get every detail. But do these changes have a chance of being…",[122],{"value":123,"source":62,"evidence":124},"How does vectorized execution benefit from CPU features and cache?",[125],{"id":80,"by":81,"text":82},[127,133],{"value":128,"source":62,"evidence":129},"PGStrom (GPU) and PGOpenCL",[130],{"id":131,"by":70,"text":132},"8425783","There are some other interesting PostgreSQL FDW extensions targeting speed. PGStrom uses the GPU: https:\u002F\u002Fwiki.postgresql.org\u002Fwiki\u002FPGStrom PGOpenCL:…",{"value":134,"source":62,"evidence":135},"MonetDB and VectorWise",[136],{"id":137,"by":70,"text":138},"8426209","Take a look at MonetDB, an open source column store database [1]. There was a commercialised extension to that called X100 targeting cache efficiency [2]. That became VectorWise…",{"comments":38,"answered":38,"key":140},[],{"commenters":142,"max_depth":44,"maker_replies":38,"first_comment_mins":143,"lifespan_hours":144},24,45,23,[146,150,154,156,158,160,162,166,168,171,174,175,177,180,184,187,191,194,196,198,200,202,205,209,213,215,216,217,218,221,225,227,228,231,235,240],[147,38,44,148,149,38],"8424717","project\u002Fpositive\u002Fperformance","drob",[151,38,34,152,153,38],"8425519","project\u002Fneutral\u002Fidea","jldugger",[155,38,34,152,149,38],"8426243",[69,38,33,157,70,38],"project\u002Fcritical\u002Fidea",[159,38,34,152,149,38],"8426221",[161,38,34,152,70,38],"8426263",[163,38,38,164,165,38],"8425746","other\u002Fneutral\u002Fnone","masklinn",[131,33,38,167,70,38],"other\u002Fneutral\u002Fperformance",[169,33,38,164,170,38],"8427249","skyebook",[172,33,38,164,173,38],"8428793","ldng",[52,18,34,152,53,38],[103,18,33,176,104,38],"maker\u002Fcritical\u002Fdocs",[178,18,34,179,57,38],"8428504","maker\u002Fneutral\u002Fidea",[181,34,44,182,183,38],"8424468","maker\u002Fpositive\u002Fexecution","mahmud",[185,34,44,182,186,38],"8425025","jfb",[188,34,38,189,190,38],"8425424","commenter\u002Fneutral\u002Fnone","thrownaway2424",[192,34,38,189,193,38],"8426667","mdellabitta",[107,34,34,195,104,38],"maker\u002Fmixed\u002Fidea",[56,34,34,197,57,38],"maker\u002Fneutral\u002Fdocs",[199,34,38,189,104,38],"8428454",[201,34,38,189,57,38],"8428568",[80,203,44,204,81,38],4,"maker\u002Fpositive\u002Fperformance",[206,203,34,207,208,38],"8425318","project\u002Fneutral\u002Fdesign","jandrewrogers",[210,203,38,211,212,38],"8425784","commenter\u002Fneutral\u002Fdesign","ntoshev",[214,203,38,211,208,38],"8426614",[137,203,38,164,70,38],[118,44,34,152,119,38],[97,44,33,157,70,38],[114,219,44,220,115,38],6,"project\u002Fpositive\u002Fidea",[222,223,38,164,224,38],"8424836",7,"MHammond",[226,223,38,167,70,38],"8426709",[84,31,44,182,85,38],[229,31,44,204,230,38],"8424345","bronson",[232,32,44,233,234,38],"8424352","maker\u002Fpositive\u002Fnone","jedisct1",[236,237,38,238,239,38],"8425029",10,"other\u002Fcritical\u002Fnone","captainbenises",[88,237,38,241,89,38],"other\u002Fpositive\u002Fnone",[],[244,249,253,258,262,266],{"id":245,"name":246,"points":247,"category":248},"8416693","Nightmare",429,"dev_tools",{"id":250,"name":251,"points":252,"category":248},"8422408","ReadMe.io",266,{"id":254,"name":255,"points":256,"category":257},"8427086","Sail boat simulation",229,"learning_science",{"id":259,"name":260,"points":261,"category":248},"8426558","DevTools tips",212,{"id":263,"name":264,"points":265,"category":248},"8400265","GoldenLayout",211,{"id":267,"name":268,"points":269,"category":270},"8405443","JuliusJS",202,"ai",false,"v2",{"id":274,"name":5,"line":6,"ai":271,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":275,"top":18,"kw":276,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":277,"url":9,"mix":278,"praise":77,"objection":93,"sub":21},8423825,0.33,[24,25,26,27],"533133000031355003300530003150055500",[31,32,33,34],1794036523556]