![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello. I've been using sqlanywhere for about two years and am starting to collect a fairly substantial amount of data. I currently have ~20 database ranging from small < 1G to larger databases, the largest being 22G (today). i have them being backed up daily on the same machine they are served up on, via BACKUP DATABASE statements, and then sent over a Gigabit LAN connection to a backup host - infrant readyNAS 370G RAID1 From what i can find online, size does not seem to be much of a concern so long as the OS supports it (using W2K3 - 300G total in RAID5 with 3G RAM) Each db is 1 file, not broken up into tablespaces. There are three large tables in each database that store 1 or 2 LONGBINARY column(s) plus the configuration, in the same row, that accompanies this data, which are 2000->4000+ 32bit floats. The largest database is, as you may have excepted, also the fastest growing. I've not seen any performance degradation as these databases get bigger, but want to understand if i should be doing something different. The databases are inserted into very regularly, but only read from to populate front end databases which drive our main application. so is there a question in here? just wanted to explain what i have and am looking for opinions as how to better handle it, or understand that this configuration is fine. Happy to provide more info if needed. Thanks for reading. Jeff |
#3
| |||
| |||
|
|
Hello. I've been using sqlanywhere for about two years and am starting to collect a fairly substantial amount of data. I currently have ~20 database ranging from small < 1G to larger databases, the largest being 22G (today). i have them being backed up daily on the same machine they are served up on, via BACKUP DATABASE statements, and then sent over a Gigabit LAN connection to a backup host - infrant readyNAS 370G RAID1 From what i can find online, size does not seem to be much of a concern so long as the OS supports it (using W2K3 - 300G total in RAID5 with 3G RAM) Each db is 1 file, not broken up into tablespaces. There are three large tables in each database that store 1 or 2 LONGBINARY column(s) plus the configuration, in the same row, that accompanies this data, which are 2000->4000+ 32bit floats. The largest database is, as you may have excepted, also the fastest growing. I've not seen any performance degradation as these databases get bigger, but want to understand if i should be doing something different. The databases are inserted into very regularly, but only read from to populate front end databases which drive our main application. so is there a question in here? just wanted to explain what i have and am looking for opinions as how to better handle it, or understand that this configuration is fine. Happy to provide more info if needed. Thanks for reading. Jeff |
#4
| |||||
| |||||
|
|
Hello. I've been using sqlanywhere for about two years and am starting to collect a fairly substantial amount of data. I currently have ~20 database ranging from small < 1G to larger databases, the largest being 22G (today). i have them being backed up daily on the same machine they are served up on, via BACKUP DATABASE statements, and then sent over a Gigabit LAN connection to a backup host - infrant readyNAS 370G RAID1 |

|
From what i can find online, size does not seem to be much of a concern so long as the OS supports it (using W2K3 - 300G total in RAID5 with 3G RAM) Each db is 1 file, not broken up into tablespaces. There are three large tables in each database that store 1 or 2 LONGBINARY column(s) plus the configuration, in the same row, that accompanies this data, which are 2000->4000+ 32bit floats. |
|
The largest database is, as you may have excepted, also the fastest growing. I've not seen any performance degradation as these databases get bigger, |
|
but want to understand if i should be doing something different. The databases are inserted into very regularly, but only read from to populate front end databases which drive our main application. |
|
so is there a question in here? just wanted to explain what i have and am looking for opinions as how to better handle it, or understand that this configuration is fine. |
#5
| |||
| |||
|
|
I am no expert but I would advise running a database validation on a regular basis, probably, right before you backup the data. |
#6
| |||
| |||
|
|
- RAID 0 or 1 perform slightly better than RAID 5 (RAID 5 performs better only when writing small chunks of data to different disk locations - at least that's what I've read somewhere - and that's why using ASA together with RAID 5 is slower than with RAID 0 or 1) |
#7
| |||
| |||
|
|
If regular full offline or online backups become problematic (and they might not, if the database isn't heavily used 24 by 7), you might consider differential or incremental online log backups. Plus a live log backup process to another machine, if speedy failover is a desire. |
#8
| |||
| |||
|
|
Breck Carter [Team iAnywhere] schrieb: If regular full offline or online backups become problematic (and they might not, if the database isn't heavily used 24 by 7), you might consider differential or incremental online log backups. Plus a live log backup process to another machine, if speedy failover is a desire. I have a client who wants an hourly full backup of a database (including the log file). Despite this database being much smaller (about 1GB), it turns out that the backup process slows down the entire operation significantly for a few minutes - just as long as the backup takes. The server is already equipped with fast SCSI drives. Is there a way to reduce the priority of the backup process or to run the backup process just when the database server is running idle? Thanks for all answers Klaus |
#9
| ||||||||||||
| ||||||||||||
|
|
What version and build are you using? |
|
How is the backup performed? |
|
What is the *exact* command line or SQL statement? |
|
Is the drive fragmented? |
|
Has the database file been expanded via ALTER DBSPACE to allocate free space? Defragmentation should be done *after* this process. |
|
How often does the server take checkpoints? |
|
Are there any client processes that run explicit CHECKPOINT commands, or force implicit checkpoints (e.g., ALTER TABLE)? Checkpoints are suspended while the database file is backed up. This should just block the connection(s) trying the checkpoints, BUT... |
|
There there was an issue at one time where a backup competing with an ALTER TABLE would cause *all* client connections to cease operating until the backup finished. I think this is the description of the fix made in 9.0.2.3202... ===== Build #3202 - Engineering Case #406421 If a checkpoint was initiated while a backup was in progress, the changes made for Engineering Case 400911 would have prevented subsequent commits from completing until the backup had finished. The server now allows requests attempting to suspend checkpoints to progress if there is a transaction already suspending checkpoints as a result of a backup or other such operation. ===== Note that connections blocked by checkpoints do not show up in sa_conn_info() or Block Sniffer. |
|
Where is the temporary file stored? |
|
Does the server have lots of RAM? |
|
Have you tried the BACKUP DATABASE command, or dbbackup -s which invokes BACKUP DATABASE? This does faster server push backup rather than client pull. |
|
Here is an alternative scheme that may give *better* protection as well as (probably) better performance: Daily full database and log backup to a separate machine, plus log mirroring (to the same machine), plus hourly differential transaction log backup or a live log backup to the separate machine. With an hourly full backup a complete disaster (grenaded server) could cost the client an hour of work. The same is true of hourly anything. With a live log backup, that's reduced to a few seconds loss. The mirror log makes recovery easier in the less-disastrous cases. |
#10
| |||
| |||
|
|
BACKUP DATABASE DIRECTORY '\\\\SERVER\\DIRECTORY' |
![]() |
| Thread Tools | |
| Display Modes | |
| |