AnyDataset can connect to multiple data sources, from relational databases to semi-structured data such as XML and JSON. The big advantage is you can use a standard interface to navigate the data by using an Iterator. All AnyDataset objects understand the IteratorInterface.

Object Data Source Read Write Reference
DbDriverInterface Relational DB yes yes Connecting to a relational Databases
AnyDataSet Anydataset yes yes
ArrayDataSet Array yes no
TextFileDataSet Delimited CSV / RegEx from file, http or ftp yes no
FixedTextFileDataSet Fixed layout from file, http or ftp yes no
XmlDataSet Xml yes no
JSONDataSet Json yes no
SparQLDataSet SparQl Repositories yes no
SocketDataset Text(Deprecated) yes no
NoSqlDocumentInterface NoSql Document Based yes yes Connecting to MongoDB
KeyValueInterface NoSql Key/Value Based yes yes