CSV is a text file format, shortcut for Comma-Separated Values. It is a very simple way to store data, where each table record is on one line and values are listed one after the other with comma in between.
We support very fast CSV reading and writing in our products! No drivers are needed as we developed our own highly optimized CSV file technology.
When a value contains commas itself, as is the case in a text, value has to be quotes. Being such a simple format, inevitably many applications write it in a slightly different way. Some quote each value, some quote only values containing commas, some quote all textual values etc. There are differencing encoding quotes – some applications precede nested quotes with backslash character, some use two quote characters one after the other. CSV file values can in fact be delimited with a character different from comma – often TAB character is used (ASCII value 9). Depending if Windows or Linux/Unix/Mac system writes the file, lines can be written by two characters (ASCII 13, then 10) or a single character (ASCII 10). You shouldn’t store multiline text data in CSV files, because you’ll prematurely detect end of record.
Parsing CSV is very easy. Parsing all possible variants out there is not trivial at all.
We have developed our own CSV parser and employ a rich test suite to make sure it handles common differences in CSV files our user have. Even though CSV format doesn’t contain metadata with field types, we analyze the data and determine optimal data type of each field.
CSV is a de-facto standard in data exchanging and many applications allow data export in a CSV format. Such files can grow very large in size. Our applications can both read and write CSV in streaming mode, so we never have to load whole large file into memory – this also means we can easily handle huge CSV files, files many gigabytes in size. We don’t even impose any limit in file size. Larger files will take longer to process, but we can generally handle any file size.
All our products support CSV database natively. No drivers are needed, you will be able to work with CSV as soon as you run our applications.CSV is also known as CSV, TSV, Flat file, Comma-separated text, TAB-separated text. (related files: csv, tsv, txt)
It may make sense to migrate your data away from CSV. You may want to do it permanently or just need to share your tables with a collague in a different format.
We will copy all your tables with their data and apply indexing and relationships exactly as they are in your current CSV database. In a nutshell, you get exactly the same database in another database engine. Each time you run the migration, we will copy all the tables again. Of course, we have a built-in scheduler, so you can run this overnight and have a fresh database copy in the morning.
Have a need to import data from various sources into your CSV database? Luckily we support many popular database formats to make this easy for you. Instead of messing with exporting from source, then working your way to somehow import data into CSV, use our tool to copy all desired tables directly - quickly and easily.
If you have already created your target database (by yourself or using our Full Convert product), you can synchronize data in your target database with your original CSV database. We never pollute your databases with additional tables or triggers for replications. We never even write to your source database.
Replication allows you to update your target database very often, as we always write just a minimum of changes needed to bring databases in sync. For example, if you added three records to a single table in your CSV database, our replication product will write those three records to target database and nothing else. If you deleted some records, changed some others and inserted some, again – our product will pick that up and replay those changes in the target databases without touching existing data that should stay there. Our products are highly optimized for real-world workloads, so data that's inserted into different areas of table are combined and written using high-speed algorithms, as available in a specific target database.
You can run database replication often, as your target database is never empty while replication runs. You will simply see that your changes are applied on each run.