TSdbi attempts to provide a common R interface (API) to time series databases. 
It also helps provide some backend implementations of SQL tables, etc., and an 
interface to Fame and some other sources of time series data. 

It should be fairly simple to implement any SQL database having a DBI package
plug (e.g. ROracle). 

The current SQL implementation supports annual, quarterly, monthly, semiannual, 
weekly, daily, business day, minutely, irregular data with a date, and irregular 
data with a date and time. This may be constrained by the backend (e.g. Fame
does not support all these types.)  My own work tends to be with the first
three, so others have not been tested as extensively.  It should be relatively
easy to implement other types of time series data in the SQL 
backends (suggestions and examples?).

Series documentation is supported in a meta table. (Multilingual support is not
yet implemented, but should not be too difficult.)

The design also (optionally) supports vintages and panels of data (e.g.
series with the same identifier but a different release date or country). The
vintage feature is fairly well tested, but panels have had less attention.

The R time series representation can optionally be
specified. The default is ts were possible and zoo
elsewhere.

The TSdbi package provides the common parts of the interface. To use this 
package it is necessary to also have one of the database specific packages, such
as  TSMySQL, TSSQLite, or TSfame. More extensive vignette examples are provided 
in each of those packages. (The vignettes are very similar, but they will not 
build properly without one of the database specific packages.)

BULK LOADING

For the SQL backends, tests and examples setup SQL tables using code in the
file inst/TSsql/CreateTables.TSsql, and very small datasets are loaded into 
these tables. 

Loading large datasets using the R interface may be slow (I have not attempted).
Performance for reading data seems fairly reasonable, at least in my
test database of about 800,000 series, mostly monthly, quarterly and annual
(but this may be small by financial data standards). 

Typically one might load a large dataset using a database specific client 
and the commands for loading a csv file or something similar. In this case 
the tables can be setup with the database specific client, but the table 
names and fields specified in inst/TSsql/CreateTables.TSsql should be respected.
I am in the process of generalizing some of my scripts and Makefiles 
to provide examples for this.


See the TO DO section in the NEWS file for possible extensions.
