When reading and writing data from and to tables, modelardb_embedded currently buffers the entire data set in memory. As this limits the size of data sets modelardb_embedded can read and write, modelardb_embedded should be changed so data is streamed from and to tables and only buffer it in memory if the user specifically requests it. The interface used in the bindings should mirror what a user of that language would expect and/or what is used by Apache Arrow for that language, e.g, an iterable or iterator in Python with the same methods as PyArrow uses.