I'm not sure what you are talking about. XML is for transferring and storing data. It's not meant to be used for databases, log files etc. But it works well with all file sizes, as long as you don't read the files into memory as Microsoft often do. The largest files I've worked on are almost 1 Gigabyte, and that works perfectly and very fast and does not consume memory at all.
The problem with Access is that the Microsoft idea is to make COM objects store and retrieve information, and thereby move the focus from file formats to programs, and also make it necessary to buy Microsoft software to access your data. The open-source community does it the other way around: They define file formats well and let everybody implement it, either themselves, or by copying the source code needed.
The difference is remarkable - Linux server software has an extremely much smaller footprint than Microsoft server software, and doesn't need to load COM objects at startup. It does require more work, however, because you need to define your file formats (or protocols if streamed) well, and you need to adjust your implementation according to the documentation if something is wrong.
Good examples of welldefined file formats: Interbase database files (optimized for DB usage), OpenOffice documents (zipped XML files), Web image files (jpg, png, gif), SVD (XML).
The big difference between protocols and file formats is that protocols are streamed and mostly bidirectional. But everything here can also be applied to protocols. |