The idea behind is quite simple, with databases and the lineage between workflow, report and database table we needed to implement some level of abstract of detail, when some piece down in row might be missing, but still the lineage might be in some cases established.
With the files we usually have the full object name, but we need also to represent its hierarchy in shared folder. Typicallu the files are nested deeper in tree, using long names for folders, so its not quite optimal to construct XIDS out of full hierarchy which can full UNC path provide. The lenght of connect URL having this long xid might be problem for browsers.
FYI some time later in development process we have introduces some XID shortening in app feature to deal with longer xids (I belive xids longer than 200 chars) than being somehow compressed, so even for database objets its not work for ALL, but suits most customer use cases. Only small amount of XIDS actually are in database world longer than 200, however with files and some folder hierarchy its easy to reach 200.
for research on how we construct XIDS see the resp. section in different sync job(loading job) config files. See your connect URL plus "/acadmin/menu/config_files" and navigate to tab loading to see different configs for, load-alteryx-db for databases, fs for file systems, wf for workflows. tableau, salesforce and powerbi.
I agree, but I think that's what we need to try to do. I mean, we
don't want to commit patches that individually make things *worse* on
the theory that when we do that enough times the result will be
overall better. And even if the individual patches seem to be entirely
neutral, that still doesn't offer great hope that the final result
will be an improvement.
Personally, I'm not convinced that "use 64-bit XIDs everywhere" is a
desirable goal. The space consumption issue here is just the tip of
the iceberg, and really exists in many places where we store XIDs. We
don't want to make tuple headers wider any more than we want to bloat
the WAL. We don't want to make the ProcArray bigger, either, not
because of memory consumption but because of the speed of memory
access. What we really want to do is fix the practical problems that
32-bit XIDs cause. AFAIK there are basically three such problems:
There's already a patch for (1), I believe. I think we can cure that
by indexing SLRUs by 64-bit integers without changing how XIDs are
stored outside of SLRUs. Various people have attempted (2), for
example with an XID-per-page approach, but nothing's been committed
yet. We can't attempt to cure (3) until (1) or (2) are fixed, and I
think that would require using 64-bit XIDs in the ProcArray, but note
that (3) is less serious: (1) and (2) constrain the size of the XID
range that can legally appear on disk, whereas (3) only constraints
the size of the XID range that can legally occur in memory. That makes
a big difference, because reducing the size of the XID range that can
legally appear on disk requires vacuuming all tables with older
relfrozenxids which in the worst case takes time proportional to the
disk utilization of the instance, whereas reducing the size of the XID
range that can legally appear in memory just requires ending
transactions (including possibly prepared transactions) and removing
replication slots, which can be done in O(1) time.
Maybe this analysis I've just given isn't quite right, but my point is
that we should try to think hard about where in the system 32-bit XIDs
suck and for what reason, and use that as a guide to what to change
first.
Scrabble Words that ends with suffix 'xids' are listed here. It is useful but you would not want to miss high scoring 4 letter words, 3 letter words or two letter words either. Check them out and plan to learn at least some of them. In word games such as Scrabble, Words with Friends or Wordfeud, utilizing the high scoring tiles strategically helps you score better than your opponents.
SCRABBLE is a registered trademark. All intellectual property rights in and to the game are owned in the U.S.A and Canada by Hasbro Inc., and throughout the rest of the world by J.W. Spear & Sons Limited of Maidenhead, Berkshire, England, a subsidiary of Mattel Inc. Mattel and Spear are not affiliated with Hasbro. Words with Friends is a trademark of Zynga with Friends.
c80f0f1006