Could database with compat level 100 support columnstore index?
Compat level is there to provide a higher degree of backwards compatibility. We can put this into a few categories:
Language elements that has been removed in a higher version of SQL server can still be available in that version of you run with a lower compat level. There aren't many of those nowadays.
Behavior changes can keep the old behavior with the lower compat level.
New language elements that in a higher version now are keywords/reserved words. I.e., if you have an object named this way (&quot;identifier&quot;, formally), you will in this higher version have to [delimit] when you reference that identifier. In order to provide backwards compatibility, in a lower compat level, those new language elements won't be available. Note, however, that there are plenty of new language elements that do not introduce new keywords, and don't have to be blocked in the lower compat level.
Performance. Use a lower compat level, and you are likely to have the same execution plans as if you were running in that version. I.e., no performance surprises when you upgrade the engine version assuming that you keep the old db compat level. Ideally.
There is no need to block new features if allowing them don't introduce backwards compatibility issues. Your columnstore index is such an example.
As for exactly what each compat level do, this is well documented here: https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level