Best Practice for 2D Array-List

I need to create a data structure to store positions for use in procedural generation.

The data structure is a fixed-size 2D array, where each array element is a list of float2.

According to my understanding, the performance order is NativeArray > DynamicBuffer >(not sure) NativeList.

Here’s my current solution:

public struct PositionSampleGrid : IComponentData
{
    public NativeArray<DynamicBuffer<float2>> Grid;
}

Is there a better practice for this?

You probably want NativeArray because DynamicBuffers are just temporary handles to the buffers and can be invalidated.