Solo un usuario típico de RDM Embedded 10.0

febrero 9

El director de tecnología, Randy Merilatt, analiza los entresijos de RDM Embedded 10.0. Como uno de los desarrolladores originales del proyecto, Randy habla sobre las nuevas funciones básicas de la API, la adición de SQL de RDMe y más.

Antes de asumir completamente el rol de CTO, todavía estoy en el proceso de cumplir con mis responsabilidades finales como desarrollador principal del nuevo SQL para RDM integrado (RDMe). En este artículo de blog, quiero relatar algunas de las experiencias que he tenido como ingeniero de software que usa RDMe. Ahora bien, no soy lo que uno consideraría un usuario objetivo. Soy descaradamente parcial. Además, soy un experto en el uso de RDMe. Después de todo, fui uno de los desarrolladores originales del producto. Sin embargo, no he tenido participación de ingeniería en su desarrollo durante muchos años y ahora soy un usuario del producto del esfuerzo de ingeniería de otros. Entonces, lo que voy a compartir es cierto y no exagero.

SQL es esencialmente un programa de aplicación RDMe. Si bien hemos agregado algunas funciones API centrales nuevas al tiempo de ejecución de RDMe para satisfacer las necesidades de SQL, esas nuevas funciones estarán disponibles para todos los usuarios, de modo que no haya nada que SQL utilice de RDMe que no esté disponible para todos. Dado que, en el momento de escribir este artículo, SQL todavía está en desarrollo, debo afirmar que mi uso de RDMe ha sido principalmente en modo de prueba y depuración. Sin embargo, eso no quiere decir que no haya habido un uso intensivo de RDMe, ya que una de las bases de datos de ejemplo a las que se hace referencia en la nueva Guía del usuario de SQL contiene varias tablas (tipos de registros), cada una de las cuales contiene más de 100,000 filas (registros de ocurrencias). Para darle una idea de la amplitud del uso del tiempo de ejecución de RDMe, la tabla al final de este artículo muestra todas las funciones principales de la API que se utilizan en SQL. SQL también utiliza muchas de las funciones RDMe PSP (Platform Support Package).

La versión de RDMe que se utiliza es la nueva versión que se lanzará con SQL. Está basado en RDMe 10.0. He realizado mis pruebas usando uno o más (al probar uniones de bases de datos) Servidores de archivos transaccionales (TFS) RDMe que se ejecutan como procesos separados en mi computadora con Windows 7 de cuatro núcleos. En todas las pruebas que he realizado hasta ahora, he encontrado muchos errores en mi propio código (nuevo), pero he encontrado muy pocos errores en el tiempo de ejecución de RDMe. De hecho, los únicos errores que he encontrado han sido en la nueva funcionalidad que se está agregando al tiempo de ejecución de RDMe para admitir SQL (posteriormente corregido, por cierto). No he tenido ningún problema en mi uso del sistema RDMe 10.0. Me ha funcionado con muy buen rendimiento y es un base de datos de alta disponibilidad. De hecho, esto también parece ser cierto para nuestros otros usuarios de RDMe 10.0. Desde su lanzamiento en julio pasado, hemos tenido muy pocos informes de problemas con él por parte de nuestros usuarios, un crédito al gran trabajo realizado por el equipo de Q / A de Raima.

He llegado a amar la arquitectura TFS porque aún no se ha bloqueado. SQL se ha bloqueado a menudo durante las sesiones de depuración (la inevitable falla de memoria, etc.), pero el TFS simplemente reconoce la desconexión y continúa ejecutándose. Debido a que el tiempo de ejecución de RDMe está separado del TFS, es mucho más difícil para una aplicación dañar la base de datos (no es imposible, solo más difícil). Todavía no he tenido ningún daño en la base de datos en mis pruebas y depuración de SQL.

También me encanta la capacidad de transacción de solo lectura y he incorporado su uso en el procesamiento de sentencias SELECT del nuevo SQL. Cuando se utiliza el modo de transacción de solo lectura, la ejecución de una instrucción SELECT emitirá automáticamente la llamada d_trrobegin en lugar de emitir los bloqueos de lectura de tabla necesarios. No se necesitan bloqueos y no se produce ningún bloqueo de las operaciones de la base de datos. Es muy rápido y muy limpio.

Si es un usuario de RDM Embedded y aún no ha decidido actualizar a la versión 10.0, permítame animarle a que lo haga. Explore las capacidades que ofrece la nueva arquitectura TFS. La flexibilidad y confiabilidad que obtendrá, creo, vale la pena.

Descargue RDM Embedded ahora

Lista de funciones de la API principal de RDMe con una X que indica las que se utilizan en SQL
* Las nuevas funciones que se lanzarán son en cursiva
d_blobdelete X d_findnm X d_recfrst X
d_blobread X d_findpm X d_reclast
d_blobseek d_fldnum d_reclock
d_blobsize X d_freeall X d_reclstat X
d_blobtell d_iclose d_recnext X
d_blobtruncate d_initfile d_recnum
d_blobwrite X d_initialize X d_recprev
d_close X d_internals d_recread X
d_closetask X d_iopen X d_recset X
d_cmtype d_iopen_ptr X d_rectot X
d_connect X desmembrar X d_recwrite X
d_cotype d_isowner X d_rerdcurr
d_crget X d_keydel d_set_dberr X
d_crread X d_keydir* X d_setdb
d_crset X d_keyexist d_setfree
d_crtype X d_keyfind X d_setkey
d_crwrite X d_keyfree d_setlock
d_csmget d_keyfrst X d_setlstat
d_csmread d_keylast d_setmm
d_csmset X d_keylock d_setmo
d_csmwrite d_keylstat d_setmr X
d_csoget X d_keynext X d_setnum
d_csoread X d_keyprev X d_setom
d_csoset X d_keyrdstate X d_setoo
d_csowrite d_keyread X d_setor X
d_curkey d_keystore d_setpages
d_dberr d_keyszstate X d_setrm
d_dbnum X d_keywrstate X d_setro
d_dbsetini d_lmstat d_timeout X
d_dbuserid d_lock X d_trabort X
d_dbver d_makenew d_tractivo X
d_decode_dba X d_members d_trbegin X
d_def_opt d_off_opt d_trdeletemark X
d_delete X d_on_opt d_trend X
d_destroy d_open X d_trmark X
d_discon X d_open_ptr X d_trprecommit
d_disdel d_opentask X d_trrobegin X
d_encode_dba d_pkeyfind X d_trroend X
d_fillnew X d_pkeynext X d_trrollback X
d_findco X d_pkeyprev d_wrcurr
d_findfm X d_rdcurr
d_findlm d_recfree

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.