On Tue, Oct 14, 2008 at 07:26:44PM -0400, Jim Starkey wrote:
> That said, let me compare the drizzle version of conservative with the  
> Nimbus/Netfrastructure version.  We both agree that extensibility is  
> critical and bloat is bad (everyone here in favor of bloat raise their  
> hand!).  But your version on conservative includes the ability load  
> arbitrary C and C++ code that can break security, corrupt the database,  
> crash the server, who knows what.  At the same time, even the most  
> laudable of plugin binaries is tied to a single platform.  Moving the  
> plugin from server to server is a manual operation, and moving it to a  
> different platform is a manual *skilled* operation.

Hi!

I agree no one is really wrong here, it's just a matter of
philosophies. I'm on the C/C++ module side for performance reasons,
and as far as security, I'd give an example of the Linux kernel. What
good is an entire protected sandbox system if people can write kernel
modules to get install as well? The same security and corruption
issues could come from a bad kernel module, just at a lower level.

Of course you have choices, and the kernel has a rigorous approval
process before included in the mainline, but who knows what
distributions are slipping into the kernel that is not yet rigorously
tested? An entire system (OS, DBMS, ...) is only as secure and reliable
as the weakest link, so you better trust your distro!

In any case, Linux shows that a high performance pluggable system at
a low level can work securely when care is taken, why can't this be
applied to a DBMS?

One thing a protected environment such as Java provides is a lower
barrier to get code into the DBMS internals. This can be good or
bad depending on who you ask (do you really want novice programmers
writing internal DB code?). This implies a lower level module system
(like C/C++) requires a higher degree of skill to do it "right",
and have confidence it won't cause security issues or corruption. It
looks like this is a trade off Drizzle is willing to make, putting
more trust into the plugin developer. You better know how to code,
and don't screw it up.

-Eric

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to