Thanks for the feedback! I have tried to reproduce this on my SQL Server 2016 instance and I did not get the results you describe. When I leave out the MAXDOP hint, the data in the CS rowgroups is more similar to figure 7.2 (not exactly the same, but a similar partly-orderred-partly-random distribution of MinProductKey/MaxProductKey) and I do need to add the MAXDOP hint to get the maximum rowgroup elimination potential as shown in figure 7.3.
Can you please do the following for me::
1. Rerun listing 7-3, *WITH* the MAXDOP hint, and with the "Include Actual Execution Plan" option enabled. When it's done, switch to the execution plan tab, right-click, choose "Save Execution Plan As" to sasve it as a .sqlplan file.
2. Rerun listing 7-1 and save the results (as screenshot or as data, either way is fine)
3. Repeat steps 1 and 2, but now WITHOUT the MAXDOP hint.
4. Post all the files you created (two execution plans and two sets of query results) here.
I will then look at those files and PERHAPS that will allow me to find an explanation. No promises.
Oh, and to answer your actual question - you probably already figured it out from the above 😉 - as far as I am aware there have been no improvements in how the column store is ordered when the index is built. There might have been changes to the ordering of the rows within each rowgroup to get even better compression benefits, but the distribution of data among rowgroups is as far as I know still basically the same.