help with data management

i have programmed 3d graphics with d3d until now (for the last 3 years). But now i’d want to learn about ogl so i can see the api differences and choose the correct one to start a game project with a little team … what i did was downloading the ogl specs, the nvidia extensions support (and also their ogl sdk and effects browser), and the redbook. But a thing still stays very confusing to me: with d3d, if i need a dynamic vertex array for read/write every frame i call it with the correct flag and it allocs the array in agp mem. If i need a static array again using the correct flags ensures the array will be created in video mem. How to do that with ogl? BTW whats the difference between the standard array pointers, the EXT_vertex_array, the EXT_compiled_vertex_array and display lists in ogl?

thank you very much