Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As with databases it always depends, for maximum insert performance you'd actually often go with random uuids so you dont get a hot page.


Hot page?

Using a monotonically increasing PK would cause pages in the index to be allocated and filled sequentially, increasing throughput.

Using random UUIDs would lead to page-splitting and partially-filled pages everywhere, negatively impacting performance and size-on-disk.


Not always, this article describes the problem: https://learn.microsoft.com/en-us/troubleshoot/sql/database-...


Exactly, with one big insert its better to have a sequential value, for many small ones its often better to not.

As with all databases, measure before you cut.


The way to take advantage of the bandwidth of multiple storage devices is to distribute concurrent writes across them, rather than forcing everything to commit sequentially using contended locks or rollbacks.


The DB (or any application) should not have any need to know what devices are underneath its mount point. If you’re striping across disks, that’s a device (or filesystem, for ZFS) level implementation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: