Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
anarazel
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
91 ms
·
811.
▲
by
anarazel
8y ago
It's more like a note, singular ;)
812.
▲
by
anarazel
8y ago
> BTW what's "12 notesnotes"? Release notes. To avoid a repeat of the mishap where we enabled parallel query by default in 10, but didn't mention it because it was always kept enabled in master, we've already men
813.
▲
by
anarazel
8y ago
Right, it's "just" expressions and tuple deforming right now. Especially the former required significant refactoring (landing in v10), but that's nothing against the refactoring required to do proper whole query compilat
814.
▲
by
anarazel
8y ago
> > > Generally speaking yes, but it's not clear when exactly that will happen (if at all). > > It's still enabled by default in 12/master. I'd expect it to stay that way. But reports for v11 will obviousl
815.
▲
by
anarazel
8y ago
> Rumours about alternative storage systems are extremely exciting, the idea of having a columnar materialised view (just guessing, not sure what the actual implementation will be like). Note that even if we get the pluggable storage wor
816.
▲
by
anarazel
8y ago
> Generally speaking yes, but it's not clear when exactly that will happen (if at all). It's still enabled by default in 12/master. I'd expect it to stay that way. But reports for v11 will obviously influence that. &
817.
▲
by
anarazel
8y ago
> because the AGPL isn't equipped for everything-as-a-service eating software licensing The AGPL is just generally a ridiculously badly written license.
818.
▲
by
anarazel
8y ago
> For something like Amazon Aurora its a different story. Aurora is API compatible with MySQL and Postgres but it is designed internally to work quite differently, really designed for the cloud first. And the result is its up to 5x faste
819.
▲
by
anarazel
8y ago
> MySQL connections use less memory [...] handled as a thread I've not measured recently, but from the angle of a PG dev I'd be very surprised if that weren't true. Note that one unfortunatelycannot just compare the memory
820.
▲
by
anarazel
8y ago
> I believe that only works if it’s the first item in the array right? No, it works regardless of that.
821.
▲
by
anarazel
8y ago
That works. A bit different syntax, but it works: -- create a table with data CREATE TABLE arrs AS SELECT format('{ "arr": [{ "a": [{ "b": %s, "c": true }] }] }', g.i)::jsonb AS data
822.
▲
by
anarazel
8y ago
> [...] I constantly wish Postgres would get anything like the complex-object querying support that Mongo has. Any chance you could describe a bit more what you'd like?
823.
▲
by
anarazel
8y ago
> The part of this that I don't understand is: since we will always know more information later in time, why not defer such decisions until runtime? Latency vs Throughput. And cost of optimizations vs win of optimization.
824.
▲
by
anarazel
8y ago
Oh, I think I must have mis-parsed "That makes Oracle dull. That heighten the trust I have into it." then. I thought you meant you trust Oracle more because it's dull?
825.
▲
by
anarazel
8y ago
I'm clearly biased (PG dev). But am I understanding correctly that you'd basically always prefer projects where development happens in the closed environment? Because aside of that I don't see what PG could do about what you
826.
▲
by
anarazel
8y ago
Or it was the other way round, they learned of the issue, asked for comment, accelerating the news release.
827.
▲
by
anarazel
8y ago
The actual complain: https://www.documentcloud.org/documents/4950588-SEC-v-Elon-M...
828.
▲
by
anarazel
8y ago
FWIW, the non-parallel version yields a profile like: - 25.69% postgres jitted-24373-18.so [.] evalexpr_3_3 - 96.00% evalexpr_3_3 ExecAgg + 2.89% __isnan - 12.15% postgres jitted-24373-16.so
829.
▲
by
anarazel
8y ago
Oops, those included per-row timing overhead. Here's the same without that: postgres[24261][1]=# set jit = 1; postgres[24261][1]=# EXPLAIN (ANALYZE, TIMING OFF) SELECT min(tz), sum(data_double), max(data_double) FROM large WHE
830.
▲
by
anarazel
8y ago
It's a bit hard what kind of benchmark to choose - you can easily get into 3-5x territory with arbitrarily expression heavy queries (say evaluating math equations in WHERE) - but whether that's realistic is another question. C
831.
▲
by
anarazel
8y ago
> but you've actually gone much further with this VM, which is fascinating given that it opens up the possibility of JITing queries. That's why I did it, and why that's the first part in PG 11 that got JITed ;) > My day
832.
▲
by
anarazel
8y ago
> It sounds like they were using an expression tree and changed it to something like truth tables, which are essentially "flat" expression representations that can support any boolean expression. I don't think that's
833.
▲
by
anarazel
8y ago
Correct.
834.
▲
by
anarazel
8y ago
It's expected to only have benefits for longer queries. The problem is primarily that the current logic what is likely to be a long query isn't perfect, so can trigger in the wrong moments. Since integrating the feature we'd
835.
▲
by
anarazel
8y ago
Indeed. And it's not just medium to low-level stuff that's not well documented, it's the high-level stuff too. I personally don't mind that much if I have to spend a few minutes to understand something on a a very local
836.
▲
by
anarazel
8y ago
And we largely defer it to https://www.iana.org/time-zones ;)
837.
▲
by
anarazel
8y ago
People work on the features that they either are paid to work on, or are otherwise interested in. While far from a perfect selection, there's some correlation between what companies are willing to pay people to work on in PG and what
838.
▲
by
anarazel
8y ago
Right.
839.
▲
by
anarazel
8y ago
I doubt it unfortunately - the FTS operators are too heavyweight to be inlined (or benefit from inlining), so JIT isn't likely to help a ton. Parallelism can help however, depending on what your bottleneck is (if the query produces a b
840.
▲
by
anarazel
8y ago
> but there are some things pg just isn't fast enough for [hash joins anyone] If you've a separable benchmark for this, I'd be curious. I work on PG performance, including hashjoins, and real-world (-ish) benchmarks are g
More ›