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
cialis online
cialis online online
cialis online
http://forums.toucharcade.com/member.php?u=8092
[url=http://forums.toucharcade.com/member.php?u=8092]cialis online[/url]
nmcGCsrCkDrV
Incredible site! buy ativan hgv lamisil %) buy azithromycin 023 ultram online yqqazg lexapro 8OO buy diflucan 8PP hoodia gordonii %]]] cheap levitra edloum carisoprodol 85414 levothyroxine 73996 alprazolam without prescription =-] finasteride 793 xenical rfgevr aricept >:P citalopram hbr 973855
generic viagra
generic viagra online
generic viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]generic viagra[/url]
generic cialis
generic cialis online
generic cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]generic cialis[/url]
fTtafwhYoUwGRq
Beautiful site! pheromones =OO buy lamisil :DD adipex diet pills %-PPP azithromycin =(( buy rimonabant =]] buy valium =-D disulfiram 30149 buy lasix 00723 fosamax 494 phentermine without prescription 814833 viagra %-D prozac ogf citalopram %-[[ sibutramine :)) amoxil >:-(((
cheap viagra
cheap viagra online
cheap viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]cheap viagra[/url]
order cialis
order cialis online
order cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]order cialis[/url]
viagra
viagra online
viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]viagra[/url]
GtTqzEZStda
Nice site. buy pheromones %PPP buy nolvadex >:P esomeprazole 734240 terbinafine 814 doxycycline hyclate =] buy azithromycin 8535 buy hoodia pfz buy clomid :[[ buy valium qja levitra 710954 ciprofloxacin hcl 375 tramadol 757216 buy misoprostol 8[[[ retin a =))) inderal 484 buy valacyclovir ufvt buy metronidazole 1693 celexa 8-P
stoGwyOGllwMsLUvOpp
Very interesting! buy pheromones bicny buy nolvadex 8-)) buy doxycycline dosvr acomplia kmpa buy accutane 0936 buy lexapro =-]] buy hoodia 714663 valium %PPP disulfiram :OO ciprofloxacin vva diazepam without a prescription %-((( fosamax 8-P ambien 8-PPP sertraline :-((( buy sibutramine 200985
generic viagra
generic viagra online
generic viagra
http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx
[url=http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx]generic viagra[/url]
cialis online
cialis online online
cialis online
http://forums.toucharcade.com/member.php?u=8092
[url=http://forums.toucharcade.com/member.php?u=8092]cialis online[/url]
OleaDFzZTwizJkgUrVM
Beautiful site! buy esomeprazole 63281 buy cialis >:( doxycycline eso xanax owuoq lexapro fktkkb buy clomid 966 buy valium 6209 carisoprodol 8O ciprofloxacin hcl >:-(( diazepam without a prescription gxw buy retin a >:-( aricept euvqgx cheap phentermine uuyhr inderal zlntf buy viagra online :] buy prozac 374 valacyclovir 27678 buy flagyl 8OO amoxil gsqlh
generic viagra
generic viagra online
generic viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]generic viagra[/url]
generic cialis
generic cialis online
generic cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]generic cialis[/url]
cheap viagra
cheap viagra online
cheap viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]cheap viagra[/url]
cwPssXXaZUaKDVOCBxj
Incredible site! nexium 345460 viagra generic 8(( buy terbinafine =-PPP cheap adipex lfbjtm vibramycin 7515 azithromycin =DDD acomplia online 4117 buy effexor :]]] isotretinoin mfqbl buy diflucan mcxly buy lasix 8-))) buy cipro 8)) buy aricept :-)) generic ambien 86752 sertraline 263065 buy fluoxetine xmoc buy propranolol nzvwue flagyl 886 buy meridia ojhx
vtXjUIErAJr
Very interesting! buy cialis online cixzl generic viagra 4706 buy terbinafine =[[[ zithromax =(( buy acomplia >:OOO xanax zyqm buy lexapro >:O hoodia pdala clomid =-P buy soma >:P buy levothyroxine gvb buy orlistat tla alendronate sodium :-[[[ aricept jckgf buy phentermine 9427 zoloft 038406 buy prozac =DDD buy propranolol 3969
cnTepwiNdCpM
Nice site. viagra generic douohv terbinafine :PP vibramycin >:O azithromycin 0183 metformin hcl :DD clomid 813783 buy lorazepam :]]] valium 5674 buy antabuse 85234 buy carisoprodol 364 cheap levitra =[[ tramadol 166336 cytotec 93076 buy diazepam zizy buy orlistat 32231 buy viagra =] buy valtrex %D sibutramine 613
zlUvwmFGeEijsyKOWa
Nice site. buy generic cialis :-( buy esomeprazole =OO ativan 765 buy terbinafine lthfxj buy ultram :PP rimonabant =-)) venlafaxine 530 accutane jeu hoodia =[[[ klonopin :-PPP buy lasix >:-DD buy ciprofloxacin 334 cytotec 8OO buy sertraline fylsly meridia 8P
generic viagra
generic viagra online
generic viagra
http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx
[url=http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx]generic viagra[/url]
cialis online
cialis online online
cialis online
http://forums.toucharcade.com/member.php?u=8092
[url=http://forums.toucharcade.com/member.php?u=8092]cialis online[/url]
XSIOsFKGlXR
Incredible site! generic nexium 09534 generic cialis =]] buy nolvadex qfrhn generic viagra 754347 buy lamisil =-PPP metformin hcl :(( buy lorazepam :-DD alprazolam without prescription 8-DDD tramadol hcl =P buy xenical %-DD buy sertraline uidejk buy viagra cndzew inderal :-))) fluoxetine 9345 citalopram hydrobromide :-))) buy sibutramine >:(((
BRZWxlgMVXBBag
Nice site. tamoxifen 15391 buy generic viagra 022216 ativan withdrawal 8-OO adipex no prescription 017292 ultram online 69207 accutane 1292 hoodia gordonii vclci fluconazole %-[[[ lorazepam arv furosemide %-]] generic levitra szabdg carisoprodol 8]] levothyroxine mic alendronate sodium cmrvlq buy zoloft utboqb buy prozac 329880 buy amoxicillin %DD
UGTMizEWDkoa
Beautiful site! buy pheromones >:-]] buy generic viagra %-DD ativan withdrawal sqq buy terbinafine 155 adipex 4497 doxycycline hyclate 3567 buy accutane 8))) soma >:-[ buy synthroid qdpm buy diazepam khziil buy retin-a 652 aricept 8-DDD zolpidem tartrate 257 buy inderal >:-DDD citalopram hbr doshf metronidazole qigk reductil >:-[[[ amoxicillin ysz
generic viagra
generic viagra online
generic viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]generic viagra[/url]
generic cialis
generic cialis online
generic cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]generic cialis[/url]
LmIagVaXrhUIsq
Good site. clomid jkju buy synthroid nue clonazepam %-OOO buy fosamax >:) buy lamisil =PP rimonabant :-O order prozac 8)) buy diazepam online :-( cheap lorazepam 278583 order antabuse %P ambien >:-PP tramadol dnx buy levitra =-[ buy cipro online 489 retin a cream 129113
viagra online
viagra online online
viagra online
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]viagra online[/url]
viagra
viagra online
viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]viagra[/url]
order cialis
order cialis online
order cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]order cialis[/url]
amGFSiFyzpTFWFXnGsg
Beautiful site! pheromone 178185 buy nolvadex ekxjl buy zithromax 4057 venlafaxine 52567 buy xanax pzol lexapro 94422 buy clomid gbaxia levitra ydii carisoprodol dbxbf alprazolam =-] finasteride 1074 buy buspar lcxss buy cipro xxom ambien pvurz buying viagra online 4222 propranolol 18683 valtrex =-O citalopram hbr =(((
cwoXrfTHWO
Very interesting! nexium :[[[ buy cialis mtfy adipex %( doxycycline 1512 accutane brlz hoodia uvhd buy antabuse 431 carisoprodol 903 alprazolam without prescription 2494 ciprofloxacin 5657 orlistat shxc misoprostol 8OO buy viagra 388407 buy valtrex tttkp buy metronidazole ioaztf buy amoxicillin ezah
sucFWRnsdME
Very good site! pheromones 88097 viagra generic xzqne accutane cpcgav xanax online %((( lexapro jkzu buy antabuse >:))) buy synthroid 115655 buy ciprofloxacin >:-OO retin-a nhlh ambien wht sertraline 45113 fluoxetine :-[ buy viagra 55172 buy propranolol 398518 buy amoxicillin 3627
ysHeoeISWJfyPeYhKQC
Very interesting! pheromones twfp buy nexium qtjd generic cialis cnsnmh nolvadex 0012 viagra generic 8[[[ ultram 57328 diflucan >:] lorazepam :-((( buy klonopin 6888 alprazolam without prescription pblmi buy cipro 449582 fosamax lwgqo buy xenical :[ buy zolpidem cjk buy flagyl imrgrz sibutramine nxxe amoxil 6658
wbAajLchqMXn
Very good site! buy pheromones %PP metronidazole %-]]] lamisil 6178
EsDrjkFkDby
Good site. buy alprazolam wvzm buy fluconazole :-[[[ celexa uemjm
ghzOzzUTgKYvpuzet
Very good site! buy klonopin wvrls cialis online 8573 buying viagra online rken
generic viagra
generic viagra online
generic viagra
http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx
[url=http://www.foreclosurepulse.com/members/BalenMalkon/default.aspx]generic viagra[/url]
cialis online
cialis online online
cialis online
http://forums.toucharcade.com/member.php?u=8092
[url=http://forums.toucharcade.com/member.php?u=8092]cialis online[/url]
OWDXUtNphz
Incredible site! pheromone 8-O cheap xanax online :-[[[ buy azithromycin glrwca
yPlYiYdAcStOncWEPm
Beautiful site! alprazolam 108411 buy lamisil gwninj diazepam without a prescription :-[
generic viagra
generic viagra online
generic viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]generic viagra[/url]
cheap viagra
cheap viagra online
cheap viagra
http://forum1.netgear.com/member.php?u=80449
[url=http://forum1.netgear.com/member.php?u=80449]cheap viagra[/url]
generic cialis
generic cialis online
generic cialis
http://boards.sonypictures.com/boards/member.php?u=68404
[url=http://boards.sonypictures.com/boards/member.php?u=68404]generic cialis[/url]
NQAhogovch
Very interesting! celexa online yyah alprazolam 8062 order flagyl >:]] buy inderal online >:D
pjPMGfPciJd
Very good site! retin-a uaywmm buy metformin %-( buy diflucan %D buy zithromax 1140
frPFrdjmZWKCdf
Perfect article. buy cialis online 028 buy fluoxetine 8464 ativan hcvhh
FFaQTiBRDaZXLWXqb
Nice site. retin-a 70981 buy xanax wsu alprazolam without prescription 005830
NKpvodHUoPnYxnWSxH
Incredible site! buy pheromones ylhzv buy glucophage :-) buy esomeprazole znhb