Note: The db usage in my case may not be typical.
did not work well for me:
administration tools are not user friendly
could not quite figure out how to load data from a file
Nice adminstration tools
Deployment is very simple and well explained in documentation
Speed: in my case slower than MySQL
* Preferered choice in my case
Very nice db, but deployment is rather heavy
I was considering HSQLDB as my primary choice of in memory database. After reading its history on http://en.wikipedia.org/wiki/HSQLDB :
HSQLDB is a relational database management system written in Java. It is based on Thomas Mueller's discontinued Hypersonic SQL Project.[1] He later developed H2 as a complete rewrite.
I decided to give H2 a try. Bellow is the benchmark from the H2's website, which looks quite nice. Hopefully my application will achieve similar results.
My application. I am currently running my algorithm on the top of Taste recommender engine using MySQL. A complete set of experiments for my algorithm and existing to produce results takes 3 days on a Core2 Duo machine. I need to try more than 20 different settings = 60 days. So I decided to try to speed it up. In addition I don't have permission to install db on the supercomputing cluster at my university so in memory db hopefully will solve both of my problems.
Since memory's I/O is much faster than disk I/O this should translate into significant speed up (assuming your db can fit in memory)
Could be run in embeded mode -- all you need is java and you can run it locally inside of your application (no additional sotware needs to be installed on the server etc.).
Note: I am using this setup for explorative learning algorithm; it is not a typical usage of the recommender system.
Single pass: 138 - 3,819 ms (depending on configuration)
# Create Table
CREATE TABLE taste_preferences (
user_id VARCHAR(10) NOT NULL,
item_id VARCHAR(10) NOT NULL,
preference FLOAT NOT NULL,
time_stamp VARCHAR(10),
PRIMARY KEY (user_id, item_id)
)
# Create Indexes
CREATE INDEX IDX_USER_ID ON TASTE_PREFERENCES ( USER_ID )
CREATE INDEX IDX_ITEM_ID ON TASTE_PREFERENCES ( ITEM_ID )
CREATE INDEX IDX_PREFERENCE ON TASTE_PREFERENCES ( PREFERENCE )
# Load data from file
INSERT INTO TASTE_PREFERENCES SELECT * FROM CSVREAD('/home/neil/tmp/u.txt');
see AL_CF.java for more details
Some parts of code are not well documented; the javadoc seems to be out of sync. Had to browse for this one for a while, untill found it.
// Create DB Connection
// H2
String driverName = "org.h2.Driver";
String url = "jdbc:h2:~/test";
String user = "sa";
String pwd = "";
org.h2.jdbcx.JdbcDataSource db = new org.h2.jdbcx.JdbcDataSource();
db.setUser(user);
db.setPassword(pwd);
db.setURL(url);
java.util.NoSuchElementException: Can't retrieve more due to exception: org.h2.jdbc.JdbcSQLException: The result set is not scrollable and can not be reset. You may need to use conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY). [90128-66]
Changed com.planetj.taste.impl.model.jdbc.AbstractJDBCDataModel
* NEIL -- Modified ResultSetUserIterator to fix the following Exception:
* TODO: Do it in a better way
org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement INSERT INTO TASTE_PREFERENCES SET[*] USER_ID=?, ITEM_ID=?, PREFERENCE=? ON DUPLICATE KEY UPDATE PREFERENCE=? ; expected ., (, DEFAULT, VALUES, (, SELECT, FROM; SQL statement:
INSERT INTO taste_preferences SET user_id=?, item_id=?, preference=? ON DUPLICATE KEY UPDATE preference=? [42001-66]
at org.h2.message.Message.getSQLException(Message.java:89)
at org.h2.message.Message.getSQLException(Message.java:93)
at org.h2.message.Message.getSyntaxError(Message.java:103)
at org.h2.command.Parser.getSyntaxError(Parser.java:454)
at org.h2.command.Parser.parseSelectSimple(Parser.java:1445)
at org.h2.command.Parser.parseSelectSub(Parser.java:1366)
at org.h2.command.Parser.parseSelectUnion(Parser.java:1249)
at org.h2.command.Parser.parseSelect(Parser.java:1237)
at org.h2.command.Parser.parseInsert(Parser.java:826)
at org.h2.command.Parser.parsePrepared(Parser.java:343)
at org.h2.command.Parser.parse(Parser.java:265)
at org.h2.command.Parser.parse(Parser.java:241)
at org.h2.command.Parser.prepareCommand(Parser.java:209)
at org.h2.engine.Session.prepareLocal(Session.java:213)
at org.h2.engine.Session.prepareCommand(Session.java:195)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:970)
at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:1206)
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:161)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:302)
at com.planetj.taste.impl.model.jdbc.AbstractJDBCDataModel.setPreference(AbstractJDBCDataModel.java:420)
at com.planetj.taste.impl.recommender.AbstractRecommender.setPreference(AbstractRecommender.java:81)
at org.hrstc.taste.al.AL_CF.evaluate(AL_CF.java:243)
at org.hrstc.taste.al.AL_CF.main(AL_CF.java:80)
Solution:
INSERT INTO TASTE_PREFERENCES SET USER_ID='22', ITEM_ID='378', PREFERENCE='5.0' ON DUPLICATE KEY UPDATE PREFERENCE='5.0'
Was giving the above exception. Replaced it with:
INSERT INTO TASTE_PREFERENCES (user_id, item_id, preference) VALUES ('22', '378', '5.0') ON DUPLICATE KEY UPDATE PREFERENCE='4.0'
Then ... ON DUPLICATE KEY UPDATE PREFERENCE='4.0' part was not a standard SQL syntax (perhaps specific to MySQL).
A better way would be to use an ANSI/ISO standard command MERGE ( instead of other db specific variants ) e.g.:
MERGE INTO TASTE_PREFERENCES(user_id, item_id, preference) key(user_id,item_id) VALUES ('22', '378', '4.0')
wrote H2JDBCDataModel.java
I finaly got H2 to run (most of the changes where migrating incompatible SQL from MySQL to standard SQL)
The performance of it was rather slow:
INFO: It took ms: 2,119,766
Used memory-only mode http://www.h2database.com/html/features.html#memory_only_databases
INFO: It took ms: 140,568
Thats a 10 fold improvement
Let JVM use more memory; let db use more memory
Did not help
Installed TPTP for eclipse but does not work; could not figure out why
Using NetBeans to do profiling; is throwing some of the old error for some reason.
Fix: The problem with error was that class in jar was not correctly overwritten by NetBeans
For some reason when running from NetBeans userNeighbourhood.size = 0; but when running from command line the same files it is not
Fix: The problem with error was that class in jar was not correctly overwritten by NetBeans
Surprisingly the peformance of MySQL MyISAM and MEMORY engine are almost identical.
Performance of H2 is 10x slower than MySQL. The difference of code between two implementations is that for
H2: MERGE INTO
MySQL: INSERT ... ON DUPLICATE KEY UPDATE
INFO: It took ms: 20,574
Mar 24, 2008 11:05:09 AM org.hrstc.taste.al.AL_CF <init>
INFO: log running..
943
Mar 24, 2008 11:05:11 AM org.hrstc.taste.al.AL_CF getTestUsers
INFO: Selected userID: 421
Mar 24, 2008 11:05:11 AM org.hrstc.taste.al.AL_CF evaluate
INFO: AL Type: random
Mar 24, 2008 11:05:13 AM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}]
Mar 24, 2008 11:05:13 AM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 1577
Mar 24, 2008 11:05:34 AM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}, {MAE=0.8614681}]
Mar 24, 2008 11:05:34 AM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 20574
CREATE TABLE `taste`.`taste_preferences` (
`user_id` varchar(10) NOT NULL,
`item_id` varchar(10) NOT NULL,
`preference` float NOT NULL,
PRIMARY KEY (`user_id`,`item_id`),
KEY `user_id` (`user_id`),
KEY `item_id` (`item_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INFO: It took ms: 19,781
Mar 24, 2008 2:55:58 PM org.hrstc.taste.al.AL_CF <init>
INFO: log running..
943
Mar 24, 2008 2:56:00 PM org.hrstc.taste.al.AL_CF getTestUsers
INFO: Selected userID: 421
Mar 24, 2008 2:56:00 PM org.hrstc.taste.al.AL_CF evaluate
INFO: AL Type: random
Mar 24, 2008 2:56:02 PM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}]
Mar 24, 2008 2:56:02 PM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 1522
Mar 24, 2008 2:56:22 PM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}, {MAE=0.760892}]
Mar 24, 2008 2:56:22 PM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 19781
Mar 24, 2008 2:56:38 PM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}, {MAE=0.760892}, {MAE=0.86437464}]
Mar 24, 2008 2:56:38 PM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 16243
CREATE TABLE `taste`.`taste_preferences` (
`user_id` varchar(10) NOT NULL,
`item_id` varchar(10) NOT NULL,
`preference` float NOT NULL,
PRIMARY KEY (`user_id`,`item_id`),
KEY `user_id` (`user_id`),
KEY `item_id` (`item_id`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
INFO: It took ms: 214,899
Mar 24, 2008 3:01:21 PM org.hrstc.taste.al.AL_CF <init>
INFO: loaded data
943
Mar 24, 2008 3:01:23 PM org.hrstc.taste.al.AL_CF getTestUsers
INFO: Selected userID: 421
Mar 24, 2008 3:01:23 PM org.hrstc.taste.al.AL_CF evaluate
INFO: AL Type: random
Mar 24, 2008 3:01:24 PM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}]
Mar 24, 2008 3:01:24 PM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 1865
Mar 24, 2008 3:04:59 PM org.hrstc.taste.al.AL_CF evaluate
INFO: User's Stats:
[{MAE=5.0}, {MAE=0.7894972}]
Mar 24, 2008 3:04:59 PM org.hrstc.taste.al.AL_CF evaluate
INFO: It took ms: 214899
Starting DB: java -cp ./lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb
java -cp ./lib/hsqldb.jar org.hsqldb.util.DatabaseManager
keywords: hsqldb load data file csv
Use Text Table ; also see src/org/hsqldb/sample/load_binding_lu.sql
Error: table not found in statement [SET TABLE SOURCE] / Error Code: -22 / State: S0002
Possible Reason: Text Tables cannot be created in memory-only databases (databases that have no script file).
Tried example from src/org/hsqldb/sample/load_binding_lu.sql
CREATE TEXT TABLE binding_tmptxt (
id integer,
name varchar(12)
);
Error: Database is memory only in statement [CREATE TEXT TABLE binding_tmptxt] / Error Code: -63 / State: S1000
Solution: this statement is not allowed for in memory database; start server db instance
When trying sudo a server [org.hsqldb.util.DatabaseManager] get the following error:
java.sql.SQLException: socket creation error
Solution: none
Performance of H2 is 10x slower than MySQL. The difference of code between two implementations is that for
H2: MERGE INTO
MySQL: INSERT ... ON DUPLICATE KEY UPDATE
Changed it but did not make a difference.
Disabled/Enabled Connection pooling but did not produce significant affect either.
Since performance still is not good rewrote code for the methods that take too long; and wrote new classes optimized for my task as seen in the next blog posting ....
http://www.h2database.com/html/features.html#trace_options
TRACE_LEVEL_SYSTEM_OUT=3
Do also java code generation; this way can benchmark it against MySQL and see where the problem is.
Turn on logging finest
See performance for my AL method and optimize for it - since it is the slowest one anyway.
If performance still is not good may need to rewrite code for the methods that take too long; or write new classes optimized for my task
For example: may compute user neighborhood only for the specific items; since I need to get estimates for only a few items, etc.
HSQLDB memory mode
MySQL's MEMORY (HEAP) Storage Engine http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html
Comments
hLYELfQPKROEz
Very good site! buy diazepam reductil buy meridia ambien buy diazepam valium buy lorazepam zolpidem tartrate buy diazepam adipex no prescription buy lorazepam generic adipex buy ativan cheap xanax buy tramadol alprazolam valium tramadol buy lorazepam
cialis online
cialis online online
cialis online
http://airsoftgunhelp.com/airsoft/member.php?u=23688
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23688]cialis online[/url]
cialis online
cialis online online
cialis online
http://airsoftgunhelp.com/airsoft/member.php?u=23688
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23688]cialis online[/url]
generic viagra
generic viagra online
generic viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]generic viagra[/url]
viagra online
viagra online online
viagra online
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]viagra online[/url]
ATcTCKIPREdNiRgY
Nice site. alprazolam tramadol hcl klonopin
DgKtBurNjxos
Perfect article. diazepam diazepam reductil zolpidem tartrate
ZTNwAHbZkIpplHVIQu
Very interesting! diazepam ativan buy lorazepam buy clonazepam
order viagra
order viagra online
order viagra
http://forums.toucharcade.com/member.php?u=8091
[url=http://forums.toucharcade.com/member.php?u=8091]order viagra[/url]
buy viagra
buy viagra online
buy viagra
http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx
[url=http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx]buy viagra[/url]
buy cialis
buy cialis online
buy cialis
http://forums.toucharcade.com/member.php?u=8092
[url=http://forums.toucharcade.com/member.php?u=8092]buy cialis[/url]
cialis online
cialis online online
cialis online
http://airsoftgunhelp.com/airsoft/member.php?u=23688
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23688]cialis online[/url]
ILGGKJAZcWJti
Nice site. ativan diazepam buy lorazepam buy adipex
generic viagra
generic viagra online
generic viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]generic viagra[/url]
viagra
viagra online
viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]viagra[/url]
BMMcUodaEnWElYbhFb
Very good site! buy xanax alprazolam sibutramine
esjIolAKwOC
Beautiful site! discount phentermine xanax xanax online buy diazepam tramadol online diazepam without a prescription phentermine klonopin generic ambien diazepam xanax buy diazepam alprazolam without prescription buy ativan ativan withdrawal phentermine generic adipex buy lorazepam
AFuBsciKnnYgkl
Perfect article. buy diazepam buy lorazepam tramadol valium tramadol lorazepam tramadol hcl buy klonopin tramadol phentermine valium buy ativan ativan withdrawal ativan withdrawal tramadol discount phentermine buy lorazepam sibutramine
oZdjLpytNJG
Incredible site! cheap xanax valium buy ativan lorazepam xanax online zolpidem ambien cr buy tramadol ativan ativan withdrawal tramadol online tramadol buy valium ativan lorazepam
QjTcjaEeRuyz
Good site. cheap phentermine buy xanax diazepam buy adipex generic adipex buy lorazepam buy zolpidem buy alprazolam buy diazepam cheap adipex alprazolam buy ambien sibutramine buy ambien buy sibutramine clonazepam
pIGnKctbxoBy
Beautiful site! meridia phentermine without prescription lorazepam ativan discount phentermine phentermine no prescription buy valium buy clonazepam klonopin buy tramadol buy ativan ativan withdrawal adipex buy diazepam buy meridia cheap phentermine
PDWeeluGeamHIZZmH
Beautiful site! valium buy clonazepam meridia xanax online
cialis
cialis online
cialis
http://airsoftgunhelp.com/airsoft/member.php?u=23688
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23688]cialis[/url]
eckmPkvxHHkPKQvI
Very interesting! reductil tramadol hcl buy xanax
order viagra
order viagra online
order viagra
http://www.linuxhelp.net/forums/index.php?showuser=14304
[url=http://www.linuxhelp.net/forums/index.php?showuser=14304]order viagra[/url]
lfcpbEVZpZUm
Good site. ativan buy ativan ambien cr tramadol
viagra online
viagra online online
viagra online
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]viagra online[/url]
generic viagra
generic viagra online
generic viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]generic viagra[/url]
IEgkFYfQyK
Very interesting! reductil buy valium lorazepam buy valium
obchfzKyJft
Incredible site! cheap adipex buy valium tramadol hcl cheap xanax
IcHYDTrOXtgT
Perfect article. phentermine buy xanax valium
KgNWKQOLuLTNWIPKifZ
Nice site. order Ambien order Female Lust Gel order Lasix order Nimotop order Epivir order Calan order Clonazepam order Xanax order Rythmol order Zyloric order Herbal Valium order Ceclor order Amaryl order Lubrication Gel order Altace order Ativan order Testosterone Anadoill order Coreg order Claritin order Rebetol order Tegretol order Herbal Ionamin order Colospa order Hyzaar order Augmentin order Kamagra order Lipitor order Arava order Ponstel order Zocor order Sure Romance order Avapro order Inderal order Herbal Levitra order Vardenafil order Ovral order Sildenafil Citrate order Arcoxia order Rimonabant order Big Performance order Ansaid order Aldactone
pbKYELltQatDpVZsM
Nice site. order Female Lust Gel order Augmentin order Provera order Leukeran order Clonazepam order Herbal Ativan order Trimox order Prevacid order Evista order Celebrex order Lanoxin order Allegra order Liquid Stimulant order Motrin order Tegrital order Sustiva order Cardura order Imdur order Valium order Nexium order Loxitane order Rivotril order Allegra order Prilosec order Valtrex order Geodon order Tricor order Augmentin order Levitra order Minipress order Herbal Xanax order Reductil order Zero Nicotine order Effexor order Tadalafil order Plendil order Big Performance order Clomid order Rimonabant order Mexitil order Avandia order Alprazolam
xRqPDVxOYUnfuKYpRRP
Very interesting! cheap Imdur cheap Sumycin cheap Ativan cheap Pheromone Cologne cheap Soma cheap Cephalexin cheap Aldactone cheap Lasix cheap Prevacid cheap Celexa cheap Coversyl cheap Maxalt cheap Buspar cheap Vantin cheap Levothroid cheap Zelnorm cheap Lotensin cheap Hytrin cheap Lanoxin cheap Inderal cheap Norvasc cheap Protonix cheap Altace cheap Diflucan cheap Tegrital cheap Lorazepam cheap Gestanin cheap Cialis + cheap Estrace cheap Rebetol cheap Prograf cheap Zyrtec cheap Loxitane cheap Periactin cheap Valium cheap Sildenafil Citrate cheap Tenormin cheap REM Again cheap Lopid cheap Prednisone cheap Cialis Soft pills cheap Imitrex cheap Combipres cheap Alprazolam cheap Urispas cheap Herbal HGH
IQCJSGOKcCjQSPJmOgC
Very interesting! Buy Imdur Buy Sure Romance Buy Proscar Buy Aldactone Buy Ceclor Buy Tafil-Xanor Buy Nexium Buy Myambutol Buy Klonopin Buy Baycip Buy Buspar Buy Flomax Buy Frumil Buy Ponstel Buy Biaxin Buy Valium Buy Hytrin Buy Amaryl Buy Levitra Buy Rivotril Buy Allegra Buy Herbal Adipex-P Buy Provera Buy Neurontin Buy Herbal Ionamin Buy Prilosec Buy Trial ED Pack Buy Testosterone Anadoil Buy Zestril Buy Plendil Buy Yerba Diet Buy Herbal Xanax Buy Zocor Buy Cardura Buy Herbal Cialis Buy Periactin Buy Herbal Phentermine Buy Vardenafil Buy Zyrtec Buy Cleocin Buy Mobic Buy Rimonabant Buy Tricor Buy Cialis Soft pills Buy Danazol Buy Imitrex Buy Alprazolam
CrdpwkjtAO
Very good site! order Buspar order Effexor order Zyloric order Minipress order Inderal order Tamiflu order Crestor order Celexa order Lopid order Levitra + order Elavil order Motrin order Cozaar order Retrovir order Norvasc order Xanax order Tramadol order Effexor order Mevacor order Diovan order Flomax order Cialis Soft pills order Inderal order Adalat order Big Performance order Lipitor order Trial ED Pack order Prednisone order Sildenafil Citrate order Ovral order Trimox order Mexitil order Maxalt order Retin-A order Acomplia order Premarin order Mobic order Topamax order Combipres order Allegra order Desyrel order Tadalafil order Ansaid
AAvHvuwvbgsNxNLH
Incredible site! Buy Flomax Buy Inderal Buy Ativan Buy Tenormin Buy Calan Buy Leukeran Buy Clonazepam Buy Lexapro Buy Rythmol Buy Lopid Buy Motilium Buy Zantac Buy Liquid Stimulant Buy Amaryl Buy Viagra Jellies Buy Lubrication Gel Buy Norplant-72 Buy Ativan Buy Testosterone Anadoill Buy Lotensin Buy Baycip Buy Deltasone Buy Zyban Buy Valtrex Buy Tegretol Buy Casodex Buy Trial ED Pack Buy Risperdal Buy Arava Buy Nolvadex Buy Biaxin Buy Reductil Buy Reductil Buy Avapro Buy Zero Nicotine Buy Minipress XL Buy Protonix Buy Ilosone Buy Plavix Buy Plendil Buy Valium Buy Topamax Buy Arcoxia Buy Big Performance Buy Frumil Buy Aldactone Buy Levaquin Buy Singulair Buy Meridia
cheap viagra
cheap viagra online
cheap viagra
http://www.linuxhelp.net/forums/index.php?showuser=14304
[url=http://www.linuxhelp.net/forums/index.php?showuser=14304]cheap viagra[/url]
nTkSUaOJcQEfsc
Incredible site! order Sumycin order Diovan order Pheromone Perfume order Reglan order Premarin order Celexa order Tafil-Xanor order Herbal Ativan order Coversyl order HIV Test Kit order Klonopin order Levothroid order Casodex order Relafen order Female Lust Gel order Minipress order Rivotril order Ilosone order Lamisil order Provera order Microzide order Nimotop order Trimox order Nolvadex order Plavix order Gestanin order Cozaar order Levitra + order Viagra order Zyrtec order Periactin order Trexall order Zyloric order Valium order Rimonabant order Lopid order Zantac order Alprazolam order Celebrex order Sustiva
buy viagra
buy viagra online
buy viagra
http://www.linuxhelp.net/forums/index.php?showuser=14304
[url=http://www.linuxhelp.net/forums/index.php?showuser=14304]buy viagra[/url]
LCgFJYISrOjz
Very good site! cheap Reglan cheap Adipex-P cheap Calan cheap Deltasone cheap Celexa cheap Diazepam cheap Coversyl cheap HIV Test Kit cheap Glucophage cheap Phenergan cheap Viagra Jellies cheap Arcoxia cheap Risperdal cheap Hyzaar cheap Persantine cheap Female Lust Gel cheap Lanoxin cheap Paxil cheap Wymox cheap Ovral cheap Altace cheap Herbal Ambien cheap Zithromax cheap Trial ED Pack cheap Lopressor cheap Testosterone Anadoil cheap Desyrel cheap Levitra cheap Lorazepam cheap Gestanin cheap Phentermine cheap Singulair cheap Vasotec cheap Periactin cheap Lipitor cheap Zyrtec cheap Xenical cheap Rimonabant cheap Cialis Soft pills cheap Imitrex cheap Danazol cheap Sustiva cheap Meridia
elOwjALaZiAlGMzxG
Nice site. Buy Kamagra Buy Biaxin Buy Ambien Buy Inderal Buy Acomplia Buy Vasotec Buy Ceclor Buy Viagra Soft Pills Buy Coreg Buy Herbal Klonopin Buy Zolpidem Buy Prozac Buy Zyrtec Buy Naprosyn Buy Lozol Buy Lotensin Buy Pravachol Buy Gestanin Buy Viagra Jellies Buy Lasix Buy Inderal Buy Urispas Buy Synthroid Buy Parlodel Buy Ansaid Buy Risperdal Buy Coversyl Buy Prednisone Buy Norplant-72 Buy Zyrtec Buy Cialis + Buy Isordil Buy Lasix Buy Zoloft Buy Combipres Buy Herbal Phentermine Buy Ultram Buy Desyrel Buy Tafil-Xanor Buy Zovirax Buy Female Satisfaction
vqwIlXVAdiRq
Nice site. cheap Ambien cheap Imitrex cheap Xanax cheap Zantac cheap Cardizem cheap Danazol cheap Lexapro cheap Rythmol cheap Bactrim cheap Buspar cheap Amaryl cheap Ceclor cheap Zantac cheap Trexall cheap Soma cheap Eldepryl cheap Levitra cheap Dilantin cheap Tamiflu cheap Prograf cheap Casodex cheap Urispas cheap Tricor cheap Kamagra cheap Lipitor cheap Lozol cheap Cialis + cheap Nolvadex cheap Herbal Xanax cheap Retin-A cheap Myambutol cheap Zero Nicotine cheap Effexor cheap Acomplia cheap Enalapril cheap Parlodel cheap Wymox cheap Norvasc cheap Viagra + cheap Topamax cheap Sildenafil Citrate cheap Cozaar cheap Tramadol cheap Pheromone Perfume cheap Meridia
cialis
cialis online
cialis
http://airsoftgunhelp.com/airsoft/member.php?u=23688
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23688]cialis[/url]
OSFNwEAtubFZIvCCHAz
Nice site. Buy Imdur Buy Sumycin Buy Diovan Buy Lasix Buy Clonazepam Buy Acomplia Buy Premarin Buy Trexall Buy Cialis Buy Naprosyn Buy Maxalt Buy Buspar Buy Risperdal Buy Motilium Buy Valtrex Buy Female Lust Gel Buy Elavil Buy Lanoxin Buy Levitra Buy Avandia Buy Rivotril Buy Zero Nicotine Buy Herbal Adipex-P Buy Altace Buy Testosterone Anadoil Buy Diflucan Buy Arava Buy Tegretol Buy Herbal Xanax Buy Flagyl Buy Cardura Buy Viagra Soft Pills Buy Zyrtec Buy Coumadin Buy Bactrim Buy Herbal Phentermine Buy Avapro Buy Zyloric Buy Valium Buy Lopid Buy Cialis Soft pills
generic viagra
generic viagra online
generic viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]generic viagra[/url]
viagra
viagra online
viagra
http://airsoftgunhelp.com/airsoft/member.php?u=23687
[url=http://airsoftgunhelp.com/airsoft/member.php?u=23687]viagra[/url]
iTExHBKEWSrKFLa
Very interesting! order Imdur order Zolpidem order Ambien order Diovan order Evista order Sibutramine order Mexitil order Calan order Trexall order Ultram order Buspar order Baycip order Testosterone Anadoill order Crestor order Casodex order Arcoxia order Tramadol order Motilium order RockIt 24/7 order Relafen order Biaxin order Virility Pills order Duphaston order Elavil order Lanoxin order Minipress XL order Lamisil order Clarinex order Adalat order Nolvadex order Effexor order Phentermine order Vasotec order Fosamax order Enhance Him order Zyloric order Lopid order Combipres order Tricor order Cialis order Meridia
order viagra
order viagra online
order viagra
http://www.linuxhelp.net/forums/index.php?showuser=14304
[url=http://www.linuxhelp.net/forums/index.php?showuser=14304]order viagra[/url]
icFzTMBHlePHf
Incredible site! cheap Effexor cheap Zyloric cheap Lamictal cheap Sibutramine cheap Vasotec cheap Dilantin cheap Viagra Soft Pills cheap Soma cheap Zolpidem cheap Arava cheap Testosterone Anadoil cheap Tenormin cheap Myambutol cheap Zyrtec cheap Coumadin cheap Celebrex cheap Avandia cheap Gestanin cheap Pravachol cheap Tegretol cheap Flomax cheap Female Lust Gel cheap Adalat cheap Allegra cheap Lamisil cheap Trial ED Pack cheap Colospa cheap Norplant-72 cheap Zetia cheap Actos cheap Famvir cheap Trimox cheap Zyrtec cheap Acomplia cheap Lasix cheap Mobic cheap Zoloft cheap Combipres cheap Cialis cheap Zovirax cheap Naprosyn cheap Trial ED Pack cheap Ansaid