I am currently researching content management systems and blogs. Was wondering what kind of experience people have with regard to these systems-pros, cons, good and bad experiences, maintainability, etc.?
Best of luck,
:Vaughn Bullard
OK,
Since I am no MySQL master, I took a while to figure out how to modify the optimizer_search_depth for a running MySQL instance. I am running Ubuntu 8.x Server on my box. The reason I needed to do modify the optimizer_search_depth is that I didn’t want to do long drawn out searches across my database from my applications. So I read up on this variable called optimizer_search_depth. Finding in-depth documentation on it was not easy. I am however documenting here for my and others’ future reference.
To modify the optimizer_search_depth, you need to modify the /etc/mysql/my.cnf file. This is the main MySQL configuration file. It doesn’t matter where you put it, just that it isn’t commented out. The default installation on Ubuntu seems to be 62 for optimizer_search_depth. I tuned it down to 4. It runs incredibly fast compared to before. If the variable isn’t there already-which in the my.cnf on Ubuntu is not, just insert in the typical name/value pair association like so: optimizer_search_depth = 10 . Restart your MySQL server and/or box and the config should take just fine. To check type in the command ‘mysqladmin variables’ and check for ‘optimizer_search_depth’.
:Vaughn
OK,
So I was recently on a project where deployment of the database connection information became a concern because they were in properties and loaded by a ResourceBundle. There’s no one reason I could find to use one over the other and I think at this point time, strictly a design time decision. Obviously certain things will be deprecated over time, but below I provide sort of a pros and cons for each component.
ResourceBundles
Pros:
- lightweight file readers
- More of use when a lot of localization must occur for one’s application - extremely useful when the programmer has more control of the application and its deployment.
- Useful for backporting to previous JDKs
- Programmer has a lot more control
- Maintenance of code-drop once to the customer, provided no settings change between drops, the customer does not have to modify the properties files
Cons:
- If deploying there tends to be issues on where the properties file can exist, how the class loader loads those files for usage in code, how the systems administrator modifies those files in case of changes, etc.
- Properties files can become corrupted. Question becomes “How does one maintain that persistence store so it does not become corrupted?”
- Properties files do not scale well at all.
- Properties files are strictly name/value string pairs and provide no capability to datatype them
JNDI API
Pros:
- Easier to develop to
- Easier to maintain from a systems administration point of view
- Harder for the programmer to programmatically modify the settings from the application perspective.
- Useful for backporting applications to previous JDKs
Cons:
- Heavyweight - very large consisting of 5 packages and 83 classes.
- Provides no policy as to where in directory name space the preference data should be stored, or in which name space
Preferences API
Pros:
- Back-end Neutral
- Policy and Data Driven
- Provides “atomic-like” updates to preferences
- Is the API that will be used in future JDKs from 1.4 on
- Has a backing store capability in case of failures
Cons:
- Is not a substitute for database, for like guarantees of transactional capabilities
- Is not backward compatible to JDKs to JDKs under 1.4 but then again if you’re using 1.4 you’ve already got one foot in the tar pit.
While it’s simply a comparison, it really boils down to how the application is controlled, deployed and maintained. There is no one way better than the other that I can see other than the potential deprecation issues of the old APIs in the future. I’d definitely be interested in seeing what other developers and architects are doing. Just because it’s old doesn’t mean it isn’t a useful or even better API.
:Vaughn
I’m Back…
Ok, after much debate over where I’ve been, I can finally say I’m back from my hole. I’ve been focusing on building business to business partnerships with my federal consulting division and eCocoMarket.Com. While there doesn’t appear to be a lot going on with eCocoMarket.Com, there actually are a bunch of things going on behind the scenes. At the appropriate time, eCocoMarket will be re-launched with some brand new features and some things that just might amaze the general public. It will be killer! As far as eCocoModo Federal Consulting, we are doing some really killer SOA work. I’m very busy with these ventures but I promise to update the blog once a week at least.
:Vaughn